C++如何续写文本文件?

来源:百度知道 编辑:UC知道 时间:2024/05/30 01:19:19
第一次写入某些内容进log.txt
第二次再写入某些内容log.txt
注意是续写,别覆盖了,我自己编的老是覆盖了.
请修改我的相关代码和思路

这个是后缀表达式算法的主函数,我需要再输入表达式之后向文件中写入所输的东西,计算出结果之后再写进结果,还能多次进行类似写入.

main()
{
char c, infix[MAXNUM], suffix[MAXNUM];
int result;
int flag = TRUE;
int a=1;
int b=1;
char *enter;
int results[100];
int e=1;
int r=1;
int count;
int start1=1;
int start2=1;
ifstream in;

while(flag == TRUE)
{
printf("请输入任意一个整数算术表达式:\n");
getline(infix, MAXNUM);
if(infixtoSuffix(infix, suffix) == TRUE)
{
////enter[e]=infix;
ofstream out("log.txt");
if(! out)
{
cout<<"生成LOG文件错误!"<<endl;
return 0;
}
out<<"第"<<a<<"次表达式为"<<infix<<endl;
out.close();
printf("所有后缀为:%s\n", suffix);
a++;
}
else
{
printf("无效缀!&#

那个模式写错了app不是opp

用ios::app模式打开文件

在产生ofstream的时候加入一个参数:a 表示 append。
这样就会在文件的最后边继续写入了。

如果不喜欢这么做的话,也可以将文件已 r+ 和 w的形式打开。用lseek找到文件的最后面。然后继续写入内容。

用fseek函数定位到文件末,再写入。