如何在txt文件中指定位置添加'\n'

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:23:43
现有一个txt文档,里面有一些数据,如:
$GPGSV,3,3,189$GPRMC,061506.00,A$PASHR,MCA,G?
我想在每个$符号前添加'\n'换行,应该怎么做?
我用的string保存数据,ifstream和ofstream文件的数据流

要修改硬盘内容先要读取入内存,具体程序就不写了,写个思路。
while(feof(fp1)) //fp1为读入文件指针
{
fscanf(fp1,"%c",&c);
if(c=='$') fprintf(fp2,"%c",'\n'); //fp2为写文件的指针
fprintf(fp2,"%c",c);
}
feof函数前面加不加!我不大记得了,我想你应该知道。
如果只是在屏幕上显示显示,把fp2换成字符串数组接收,fprintf换成,sprintf

#include <stdio.h>
int main(void)
{
FILE *fp,*tf;
char c;
fp=fopen("dat.txt","r");/*打开要修改的文件*/
tf=tmpfile();/*生成一个临时文件*/
while(!feof(fp))/*将修改后的文档内容保存到临时文件中*/
{
c=fgetc(fp);
if(c=='$') putc('\n',tf);
putc(c,tf);
}
rewind(tf);/*重置临时文件指针到文件开头*/
freopen("dat.txt","w",fp);/*以写入模式重新打开fp文件*/
while((c=getc(tf))!=EOF)/*将临时文件中的内容复制回原文件*/
putc(c,fp);
fclose(tf);/*关闭临时文件,此时这个临时文件将自动删除*/
fclose(fp);/*关闭原文件*/