Как преобразовать число в строку? (Как преобразовать число в строку стандартными функциями?)

Модератор: Модераторы разделов

Аватара пользователя
netelis
Сообщения: 95
ОС: Debian Wheezy i686

Как преобразовать число в строку?

Сообщение netelis »

Я использую g++
хочу преобразовать число типа int в строку char st[20];
Как это зделать только без написания своей функции которая б всё это делала?

Код: Выделить всё

void sock_connect(int i,char *hnm)
{
ff=open("./ports",O_RDWR);
if(ff<0)
{
ff=open("./ports",O_CREAT | O_RDWR);
};
char pn[10];
int cp;// число i  преобразовать в строку которое передается как аргумент функции
sprintf(pn,"",i);
write(ff,pn,sizeof(pn));
close(ff);
return;
};

Этот способ с sprintf неработает.
Спасибо сказали:
Аватара пользователя
nesk
Сообщения: 2268
Статус: Линукссаксовец
ОС: MS Windows XP Home SP3

Re: Как преобразовать число в строку?

Сообщение nesk »

sprintf(pn,"%d",i);
как то так.
формат не задали.
Внимание: У меня под рукой нет машины с Linux. Я не использую эту ОС. Ответы я даю либо по памяти, либо мне помогает гугл. Тщательно читайте маны по тем командам и конфигурационным файлам, которые я упоминаю.

0xDEFEC8ED
Спасибо сказали:
volod
Сообщения: 28
ОС: Mandrake 10.1

Re: Как преобразовать число в строку?

Сообщение volod »

можно и так:

#include <stdlib.h>
char *itoa(int value, char* str, int base);

см. например http://ru.wikipedia.org/wiki/Itoa_(Си)
Спасибо сказали:
sev16
Сообщения: 1

Re: Как преобразовать число в строку?

Сообщение sev16 »

Код: Выделить всё

int i = 12345;
char str[15];
sscanf(str,"%d", i);
cout << str << endl;
Спасибо сказали: