преобразовать int в const char * для записи в файл - PullRequest
0 голосов
/ 29 октября 2011

У меня есть следующий код на C ++, и я хотел бы преобразовать целое число в const char * для записи в файл.Я пробовал функции itoa или sstream, но они не работают.

FILE * pFile;
pFile = fopen ("myfile.txt","w");

int a = 5;

fputs (&a,pFile);
fclose (pFile);

Заранее спасибо

Ответы [ 4 ]

4 голосов
/ 29 октября 2011

Первый параметр fputs - это char*, поэтому код, который вы показываете, явно неверен.

Вы говорите I tried itoa or sstream functions but it's not working., но эти являются решениями, и у них нет причин не работать.

int a = 5;

//the C way
FILE* pFile = fopen("myfile.txt","w");
char buffer[12];
atoi(a, buffer, 10);
fputs(buffer, pFile); 
fclose (pFile);
//or
FILE* pFile = fopen("myfile.txt","w");
fprintf(pfile, "%d", a);
fclose(pfile);

//the C++ way
std::ofstream file("myfile.txt");
std::stringstream ss;
ss << a;
file << ss.str();
//or
std::ofstream file("myfile.txt");
file << a;
1 голос
/ 29 октября 2011

Попробуйте itoa(a) он преобразует i nt в a RAY, следовательно itoa

0 голосов
/ 29 октября 2011

Использовать приведение типа.Вы можете использовать boost :: lexical_cast

Оказавшись в строке, вы можете использовать функцию-член c_str () для получения константного символа *

0 голосов
/ 29 октября 2011

Что не так с fprintf?Или snprintf, а затем fputs результат.

...