Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2009, 00:41   #1
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию Конвертация типа string в int

Подскажите пожалуйста как конвертировать тип string из string.h в int и наоборот? Например SomeStr.substr(0,2) надо сконвертировать в int как это сделать?
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 25.04.2009, 00:47   #2
koma_grusha
Редкий обитатель
Форумчанин
 
Аватар для koma_grusha
 
Регистрация: 08.04.2009
Сообщений: 170
По умолчанию

а че, StrToInt и StrToIntDef не помогают?
Мозг, хорошо устроенный, стоит больше, чем мозг, хорошо наполненный (Мишель Монтень)
koma_grusha вне форума Ответить с цитированием
Старый 25.04.2009, 00:47   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
string str="123";
cout<<atoi(str.c_str())<<endl;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 01:20   #4
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

koma_grusha, может и помогают, но что-то не работают(пишет что нет прототипа)
Sazary, А что значит atoi и c_str метода вроде нет...
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 25.04.2009, 01:26   #5
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
А что значит atoi и c_str метода вроде нет...
atoi - стандартная функция преобразования си-строки в число (int). Требуется stdlib.h
метод c_str у класса string есть. Он преобразует строку в формат си-строки.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 01:32   #6
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Sazary, спасибо разобрался, а как преобразовать из int в стр?
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 25.04.2009, 01:37   #7
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а как преобразовать из int в стр?
А вот это вопрос посложнее )
В си-строку-то преобразовать можно с помощью обратной функции itoa:
Код:
itoa (int, char*, int);
1-й аргумент - число, второй - буфер (строка), 3-й - система счисления.
Также можно использовать sprintf.

Для string'ов знаю такой способ:
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
#include <sstream>
using namespace std;

template <typename T>
std::string toString(T val)
{
    std::ostringstream oss;
    oss<< val;
    return oss.str();
}
template<typename T>
T fromString(const std::string& s)
{
  std::istringstream iss(s);
  T res;
  iss >> res;
  return res;
}


int main()
{
string str;
int iVal=123;
float fVal=123.45;

str = toString(iVal);
str = toString(fVal);

iVal = fromString<int>(str);
fVal = fromString<float>(str);

cout<<iVal<<endl<<fVal<<endl;

getch();
return 0;
}
ps Стянуто с инета )
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 25.04.2009, 01:40   #8
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

Спасибо буду разбираться)
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 25.04.2009, 01:44   #9
Mixasik
New Delphi Coder
Форумчанин Подтвердите свой е-майл
 
Аватар для Mixasik
 
Регистрация: 20.07.2008
Сообщений: 874
По умолчанию

itoa (int, char*, int); - это в общем то устроит, только есть еще вопросик как потом char* преобразовать в string?
Страх это слабость и потому, кто испугался уже побежден.
Mixasik вне форума Ответить с цитированием
Старый 25.04.2009, 01:47   #10
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
str = (const char*) cstr;
Да. Кстати, тогда можно и проще сделать:
Код:
#include <iostream>
#include <conio.h>
#include <string.h>
using namespace std;

int main()
{
string str;
int i=123;
char *buf;
itoa(i,buf,10);
str = (const char*)buf;
cout<<str<<endl;
getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считать данные из переменной типа String 1o1man Помощь студентам 13 17.04.2009 22:34
Как из переменной типа String удалить пару слов zotox Помощь студентам 3 30.11.2008 19:14
Перевести Int в String Д'якон Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 26.11.2008 22:04
преобразовань int B string Termo Общие вопросы C/C++ 2 05.05.2008 21:34