Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/19: Рейтинг темы: голосов - 19, средняя оценка - 4.58
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257

Конвертация из int в string и наоборот

10.07.2011, 10:46. Показов 4137. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос такой: Как переменной типа string записать значение типа int и наоборот. Помогите плиз никак не разбирусь
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.07.2011, 10:46
Ответы с готовыми решениями:

Рекурсивная конвертация чисел int в string и наоборот (ошибка)
Доброго времени суток! Есть 2 метода которые предназначены для конвертации чисел из int в string и наоборот. Когда тестил - все вроде...

Как перевести Int в String а потом наоборот
#include <iostream> #include <math.h> using namespace std; int main() { int m = 0, a; string s; ...

Конвертация переменной типа string в массив int
Добрый день. Есть строка string выглядит следующим образом: string str = "01 07 45 0F 12 00 02 09 10 BA 00 34 33 30 35 32 31 31 33";...

13
 Аватар для pito211
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
10.07.2011, 11:03
itoa?

Добавлено через 3 минуты
или http://www.cplusplus.com/refer... ingstream/
1
Эксперт С++
 Аватар для nameless
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
10.07.2011, 11:06
fenix117,

С использованием stringstream, так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <sstream>
#include <string>
 
int main()
{
    std::istringstream in(std::string("100"));
    std::ostringstream out;
    int num = 100;
   
    in >> num;
        std::cout << num << std::endl;
 
    num = 1000;
    out << num;
    std::cout << out.str() << std::endl;
 
    return 0;
}
1
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
10.07.2011, 12:33  [ТС]
с itoa копался, так и не заработало,
nameless, напиши плиз подробнее я не пойму даж где у тебя переменная типа string
0
Эксперт С++
 Аватар для nameless
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
10.07.2011, 12:38
fenix117,

Цитата Сообщение от fenix117 Посмотреть сообщение
я не пойму даж где у тебя переменная типа string
C++
1
2
std::string str("100");
std::istringstream in(str);
Надеюсь так понятнее.
1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
10.07.2011, 12:48
boost::lexical_cast
1
 Аватар для pito211
187 / 174 / 18
Регистрация: 22.03.2010
Сообщений: 612
10.07.2011, 12:49
чё там копаться то, переводишь сначала с помощью c_str в char* и итоашишь. Но это не с++ way, правильно будет как nameless показал
2
Эксперт С++
 Аватар для nameless
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
10.07.2011, 12:49
Цитата Сообщение от fenix117 Посмотреть сообщение
с itoa копался, так и не заработало,
Что могло интересно не заработать?

C
1
2
char buffer[32];
printf("%s", itoa(100, buffer, 10));
1
Эксперт С++
 Аватар для grizlik78
2382 / 1666 / 279
Регистрация: 29.05.2011
Сообщений: 3,402
10.07.2011, 12:54
Цитата Сообщение от pito211 Посмотреть сообщение
чё там копаться то, переводишь сначала с помощью c_str в char* и итоашишь. Но это не с++ way
Это даже не C-way, так как itoa, как известно, в стандартной библиотеке нет.
1
32 / 32 / 13
Регистрация: 07.05.2011
Сообщений: 50
10.07.2011, 13:16
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
string Int2String(int value) {
  string res;
  bool continue = true;
  do {
    switch(value % 10) {
      case 0: res = "0" + res; break;
      case 1: res = "1" + res; break;
      case 2: res = "2" + res; break;
      case 3: res = "3" + res; break;
      case 4: res = "4" + res; break;
      case 5: res = "5" + res; break;
      case 6: res = "6" + res; break;
      case 7: res = "7" + res; break;
      case 8: res = "8" + res; break;
      case 9: res = "9" + res; break;
      default: continue = false;
    }
    value /=  10;
  } while (continue && value);
  return res;
}
1
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
10.07.2011, 13:28  [ТС]
Я еще многого не знаю, для меня самый понятный вариант как у
Onishare, switch-ем сделаю, т.к. у меня переменная может равняться только 1,2,3,4 или 5.
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
10.07.2011, 14:03
C
1
2
char buff[100];
sprintf( buff, "%d", 123 );
0
Эксперт С++
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
10.07.2011, 16:22
Цитата Сообщение от Onishare Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
string Int2String(int value) {
  string res;
  bool continue = true;
  do {
    switch(value % 10) {
      case 0: res = "0" + res; break;
      case 1: res = "1" + res; break;
      case 2: res = "2" + res; break;
      case 3: res = "3" + res; break;
      case 4: res = "4" + res; break;
      case 5: res = "5" + res; break;
      case 6: res = "6" + res; break;
      case 7: res = "7" + res; break;
      case 8: res = "8" + res; break;
      case 9: res = "9" + res; break;
      default: continue = false;
    }
    value /=  10;
  } while (continue && value);
  return res;
}
Надо писать короче:
C++
1
2
3
4
5
6
7
8
9
10
11
string Int2String(int value)
{
  string res;
  char ch = 0;
  char digit[] = "0123456789";
  do { ch = value % 10;
       res = digit[ch] + res;
    value /=  10;
  } while (value);
  return res;
}
0
Эксперт С++
 Аватар для schdub
3073 / 1411 / 425
Регистрация: 19.01.2009
Сообщений: 3,893
10.07.2011, 23:11
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
bool continue = true;
continue - зарезервированное слово, что в С++ теперь можно использовать под имена переменных зарезервированные слова?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.07.2011, 23:11
Помогаю со студенческими работами здесь

Как превести из char* в int и наоборот из int в char*?
Как превести из char* aa='123' в int aa=123 и наоборот из int в char* . Понимаю что самому написать функцию не сложно, но наверняка это...

Конвертация из heximal в int
Нужно написать функцию для конвертации строки, представленной как heximal, в int. Например: Вход: char * pStr = &quot;0xFF&quot;; ...

Конвертация int в char*
Доброго времени суток!!! Пытаюсь конвертировать int в char* стандартными средствами c++. Приложение компилируется, но вовремя выполнения...

Конвертация из int в char
есть длина строки которая int или даже 8 байтный long, но если в ней число &lt; 255 то мне нужно её положить в 1 байт (char), но тут...

Конвертация int в char
Как конвертировать int в char


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Ниже машинный перевод статьи The Thinkpad X220 Tablet is the best budget school laptop period . Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы,. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru