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

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

10.07.2011, 10:46. Показов 4200. Ответов 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,894
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
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru