Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

C++ в Unix, перевод int в string

481
13 января 2006 года
Виктор
71 / / 09.04.2003
char al_s[100];
int m1,i,j;
...
m1=i+j;
itoa(m1,al_s,10);

дает ошибку:
/tmp/ccGrV8YT.o (.text+0x14b4): In function 'schimb':
: undefined refererince to 'itoa'
collecct2: ld returned 1 exit status
3
13 января 2006 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Виктор
char al_s[100];
int m1,i,j;
...
m1=i+j;
itoa(m1,al_s,10);

дает ошибку:
/tmp/ccGrV8YT.o (.text+0x14b4): In function 'schimb':
: undefined refererince to 'itoa'
collecct2: ld returned 1 exit status


Используй lexical_cast из boost.
Если не хочешь юзать весь boost, используй только нижеприведенный код:

Код:
#include <string>
#include <sstream>

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;
}

// Пример использования
std::string str;
int iVal;
float fVal;

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

iVal = fromString<int>(str);
fVal = fromString<float>(str);
9.0K
14 января 2006 года
f14tc
25 / / 06.11.2005
_itoa(...) в юниксе нету.
я пользовал
int sprintf(
char *buffer,
const char *format [,
argument] ...
);
481
16 января 2006 года
Виктор
71 / / 09.04.2003
Спасибо всем!

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог