怎样改写一个文件中的一行?
怎样改写一个文件中的一行?改写前后的文本长度可能不相同。最好不要建立临时文件。
[解决办法]
以下做法必须保证被修改行修改前后的长度一样
fstream pf;
pf.open( "test.txt ");
string str ;
getline(pf, str);
int len = str.length();
pf.seekp(0);
str = "hello ";
pf < < str;
....
[解决办法]
#include <stdio.h>
int main(void)
{
FILE *fp;
char buf[10]= "aaaa ";
fp=fopen( "abc.dat ", "r+ ");
while( '\n '!=fgetc(fp));
fseek(fp,0,SEEK_CUR);
fprintf(fp, "%s ",buf);
return 0;
}