c++ 将CSTRING变量按行写入TXT文本文件

我想写一个函数,能将我的程序(即图形处理程序)的状态写入一个TXT文本文件。我可以将状态写入一个CSTRING类型的变量,现在的问题是第一 如何写入TXT文本文件带回车的,即每个CSTRING都是一行,第二是我的文本文件中如果有东西,可否判断行数,并再其下一行写入。呵呵谢谢了,我加分

这样做:
CString str;
....//处理你的CString变量
FILE* fp = fopen("C:\\status.txt", "wt");
if(fp != NULL)
{
fseek(fp, 0, SEEK_END);
fputs(str, fp);//这句应该可以正确执行,如果不行这样改:fputs((const char*)str, fp);
fputs("\n");//或fputs("\r\n");
fclose(fp);
}追问

大师,请问为何我只能写入一行,没有回车呢
我已经用了您的语句,忘帮我再看看
CString InputStr="this is ok";
FILE* fp = fopen("C:\\1.txt", "wt");
if(fp != NULL)
{
fseek(fp, 0, SEEK_END);
fputs(InputStr, fp);//这句应该可以正确执行,如果不行这样改:fputs((const char*)str, fp);
fputs("\r\n",fp);//或fputs("\r\n");

fclose(fp);
}

追答

CString InputStr="this is ok";
FILE* fp = fopen("C:\\1.txt", "wt");
if(fp != NULL)
{
fseek(fp, 0, SEEK_END);
fputs(InputStr, fp);//
fputs("\r\n",fp);//或fputs("\r\n");

//你想写几行都可以啊,但是你的程序本来就只有写一行。
fputs(InputStr, fp);//
fputs("\r\n",fp);//或fputs("\r\n");

fclose(fp);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-11
#include<iostream>
#include<fstream>
using namespace std;
int main( )
{ fstream file("test.txt",ios::out);\\ 如果文件本来有内容,用app追加
if(!file.fail())
{ cout<< "start write"<< endl;
file << "name" << " "; \\一行? 你直接这样输入,以endl结尾,就是啦。
file << "sex”<< " “;
file << " age" << endl;
}
else cout <<" can not open" << endl;
return 0;
}本回答被网友采纳
第2个回答  2011-08-08
可以。
BOOL ReadString(CString& rString);
从文件头一行一行往下读 存到rString里
第3个回答  2011-08-08
哥们你能描述的仔细些不,不懂你要的是什么?追问

我想写一个函数,能将我的程序(即图形处理程序)的状态写入一个TXT文本文件。我可以将状态写入一个CSTRING类型的变量,现在的问题是第一 如何写入TXT文本文件带回车的,即每个CSTRING都是一行,第二是我的文本文件中如果有东西,可否判断行数,并再其下一行写入。呵呵谢谢了,我加分

追答

#include
using namespace std;

int main()
{
ofstream fout( "test.txt" );
fout<<"boy"<<endl;
fout<<"girl"<<endl;
return 0;
}

text.txt:

boy
girl

你可以自己调试下再改成你想要那个就行。要是CString的话,恐怕要写个重载函数。
希望能帮到你,分不分的无所谓的,只要我能帮到你就行,我是学游戏编程的(是个菜鸟),平时也涉及到这方面的内容,大家有空可以交流下。

追问

呵呵,我也很菜啊,我的Q523740321,我原来做小机 数据库 网络的现在想用用C++.有机会多交流啊,谢谢您,您的方法我先试试

追答

我还是个学生呢,很多东西,我要向您学习,我们互相称呼的时候就不要您了吧,怪别扭的。就称呼你好就是行。

相似回答