我在C ++中有以下代码,我想将整数转换为const char *以便在文件上写入。我试过itoa或sstream函数,但它不起作用。
FILE * pFile;
pFile = fopen ("myfile.txt","w");
int a = 5;
fputs (&a,pFile);
fclose (pFile);
提前致谢
答案 0 :(得分:4)
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 :(得分:1)
尝试itoa(a)
它会将 i nt 转换为 a rray,因此itoa
答案 2 :(得分:0)
fprintf
出了什么问题?或snprintf
然后fputs
结果。
答案 3 :(得分:0)
使用类型转换。您可以使用boost::lexical_cast
一旦进入字符串,就可以使用c_str()成员函数来获取const char *