我遇到打印字符串的问题,我将其用于调试目的.
我像这样创建字符串:
//checker is int
std::stringstream buttonx;
buttonx << "Button" << checker << "_x";
Run Code Online (Sandbox Code Playgroud)
现在我尝试将其打印到我的error.txt文件中
FILE * p;
p = fopen ("error.txt","w");
fprintf(p, "%s" , buttonx.str());
fclose(p);
Run Code Online (Sandbox Code Playgroud)
输出是:
,æ0
它每次都不同.我不确定最新情况是否有人可以解释这个错误?
fopen是普通的C,无法处理std :: string.你需要输入一个char*,你可以通过调用.c_str()字符串来访问,如下所示:
fprintf(p, "%s", buttonx.str().c_str());
Run Code Online (Sandbox Code Playgroud)