我有这样的代码:写格式的文本文件 - C++
printf("GPU: %ic SYSTEM: %ic CPU: %ic HDD: %ic ",temp[0],temp[1],temp[2],temp[7]);
ofstream temp_file;
temp_file.open("D:\\localhost\\xampp\\htdocs\\monitor\\temps.json");
temp_file << fprintf("\"{\"GPU\": [%ic], \"System\": [%ic], \"CPU\": [%ic], \"HDD\": [%ic]}\"", temp[0],temp[1],temp[2],temp[7]);
temp_file.flush();
temp_file.close();
,我得到错误“不能将 '为const char *' 到 'FILE * {又名_iobuf *}' 的说法 '1'到'int fprintf(FILE *,const char *,...)'
temp变量是一个int,并且代码的第一行成功地打印出格式化文本。一个文件?
如果它们很容易使用,为什么不使用'FILE *'和'fopen()'? – MikeCAT
你想使用什么['snprintf()'](http://linux.die.net/man/3/snprintf)。 – MikeCAT
检查fprintf采用的参数。比较你的代码。再次阅读错误消息。另外,避免像printf这样的传统C函数,因为它们不是类型安全的,而且很容易创建未定义的行为错误。只需使用C++流。 – hyde