Форум программистов, компьютерный форум CyberForum.ru

Сложение разных типов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
28.08.2012, 14:19     Сложение разных типов #1
У меня из файла в переменную int считывется число.. Мне нужно занести в переменную string
это число + строка.

Например

C++
1
2
3
4
int i;
string str;
 
str = "STROKA" + i;
Добавлено через 53 секунды
Но как мне коректно и без лишних хлопот привести переменную i в тип string???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
28.08.2012, 14:24     Сложение разных типов #2
Цитата Сообщение от Egor138 Посмотреть сообщение
Но как мне коректно и без лишних хлопот привести переменную i в тип string???
C++
1
str = "STROKA"; str += (char) ('0' + i);
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <string>
#include <iostream>
using namespace std;
 
int main()
{
    int i = 9;
    string str = "STRING";
    str += (char)('0' + i);
    cout<<str<<endl;
    return 0;
}
http://liveworkspace.org/
STRING9
grizlik78
Эксперт С++
 Аватар для grizlik78
1884 / 1416 / 102
Регистрация: 29.05.2011
Сообщений: 2,961
28.08.2012, 14:24     Сложение разных типов #3
-=ЮрА=-, а если i меньше нуля или больше девяти?
-=ЮрА=-
Заблокирован
Автор FAQ
28.08.2012, 14:27     Сложение разных типов #4
Цитата Сообщение от grizlik78 Посмотреть сообщение
-=ЮрА=-, а если i меньше нуля или больше девяти?
если больше девяти, то бить число на разряды а затем делать конкатенацию, если меньше нуля стыковать модуль с символом "-" впереди. Я лишь дал направление дальше пусть человек сам додумывает...
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
28.08.2012, 14:27     Сложение разных типов #5
C++
1
2
3
4
5
6
int i = 123456;
string str;
stringstream ss;
ss<<i;
str = "STROKA" + ss.str();
cout<<str;
Andsteadur
152 / 136 / 3
Регистрация: 23.05.2009
Сообщений: 275
28.08.2012, 14:28     Сложение разных типов #6
C++
1
2
3
4
int i;
stringstream strStream;
strStream<<"STROKA"<<i;
string myString = strStream.str();
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
28.08.2012, 14:29     Сложение разных типов #7
Egor138,
C++
1
2
3
std::string str = "string";
int number = 9999;
str += std::to_string(number);
-=ЮрА=-
Заблокирован
Автор FAQ
28.08.2012, 14:31     Сложение разных типов #8
А вобще вот и код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <string>
#include <iostream>
using namespace std;
 
string addVal2Str(string srs, int val)
{
    bool isLessZero = (val < 0);
    if(isLessZero)
    {
        val *= -1;
        srs += "-";
    }
    srs += (char) ('0' + val % 10);
    while(0 < (val /= 10))
        srs += (char) ('0' + val % 10);
    return srs;
}
 
int main()
{
    int i = 74415;
    string str = "STRING";
    str = addVal2Str(str, i);
    cout<<str<<endl;
    return 0;
}
Миниатюры
Сложение разных типов  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.08.2012, 14:35     Сложение разных типов
Еще ссылки по теме:

C++ Сравнение переменных разных типов
C++ Сложение чисел в разных системах счисления (от 2 до 10)
C++ Указатели разных типов

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
28.08.2012, 14:35     Сложение разных типов #9
Увидел переворот числа, ок поравлюсь
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;
 
string addVal2Str(string srs, int val)
{
    bool isLessZero = (val < 0);
    if(isLessZero)
    {
        val *= -1;
        srs += "-";
    }
    string dig; 
    do
    {
        dig += (char) ('0' + val % 10);
    }
    while(0 < (val /= 10));
    reverse(dig.begin(),dig.end());
    return srs + dig;
}
 
int main()
{
    int i = 74415;
    string str = "STRING";
    str = addVal2Str(str, i);
    cout<<str<<endl;
    return 0;
}
Миниатюры
Сложение разных типов  
Yandex
Объявления
28.08.2012, 14:35     Сложение разных типов
Ответ Создать тему
Опции темы

Текущее время: 21:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru