将int转换为const char *以便在文件上写入

时间:2011-10-28 21:04:58

标签: c++ char const int

我在C ++中有以下代码,我想将整数转换为const char *以便在文件上写入。我试过itoa或sstream函数,但它不起作用。

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

int a = 5;

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

提前致谢

4 个答案:

答案 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 *