String 文件写入不正确
我正在使用以下函数将一些字符串写入文件String 文件写入不正确,string,visual-c++,text-files,String,Visual C++,Text Files,我正在使用以下函数将一些字符串写入文件 void writeText(const char* desc){ FILE * pFile; pFile = fopen ("CycleTestInfo.txt","a+"); fputs (desc,pFile); fclose(pFile); } …在for循环内: for(int i=0; i<numCycles; i++){ string cycle("---NEW CYCLE ");
void writeText(const char* desc){
FILE * pFile;
pFile = fopen ("CycleTestInfo.txt","a+");
fputs (desc,pFile);
fclose(pFile);
}
…在for循环内:
for(int i=0; i<numCycles; i++){
string cycle("---NEW CYCLE ");
cycle+=(char)i;
cycle+= "---\r\n";
writeText(cycle.c_str());
}
当我希望它看起来像这样时:
---NEW CYCLE 1---
Cycle Done!
....
i
未显示在我的文本文件中这是因为您正在使用值
1
编写字符。字符'1'
的值是不同的,可以通过将'0'
的值添加到i
中来轻松检索,如下所示:char c='0'+i代码>
在我的文本文件中写入的第一个字符串不会出现换行符
第一次i
等于0
,这也是终止字符'\0'
查看本文:i
未显示在我的文本文件中
这是因为您正在使用值1
编写字符。字符'1'
的值是不同的,可以通过将'0'
的值添加到i
中来轻松检索,如下所示:char c='0'+i代码>
在我的文本文件中写入的第一个字符串不会出现换行符
第一次i
等于0
,这也是终止字符'\0'
查看这篇文章:我怀疑(char)I
是去那里的路,你应该试试(char)((int)'0'+I)
我怀疑(char)I
是去那里的路,你应该试试(char)((int)'0'+I)
---NEW CYCLE 1---
Cycle Done!
....