c语言中如何向一个.txt文件的指定行输入内容

来源:百度知道 编辑:UC知道 时间:2024/06/02 23:10:47
比如我想把一行内容输入到一个a.txt的第十行,将另一行内容输入到a.txt的第4行,该如何办

只讲个大概未必能解决你的问题,举手之劳,帮你写了。
由于没有说明怎么处理a.txt原来的第4行和第10行,这里分别将它们顺次移到下一行。一个完整的c程序如下,在win-tc和Dev-c++下已运行通过。
#include<stdio.h>
#include<string.h>
#include<conio.h>
#define N 255 /* 假定文章的总行数不超过255,可更改 */

main()
{
int i=0,max;
char s[N][101],s1[101],s2[101],*p,*q="a.txt";
FILE *fp;
printf("Please input string1(not more than 100 letters):\n");
gets(s1);
printf("Please input string2(not more than 100 letters):\n");
gets(s2);
if ((fp=fopen("a.txt","r+"))==NULL)
{ printf("Open file %s error!",q);
getch();
exit(0);
}
while(i<3&&fgets(s[i],101,fp)!=NULL) /*按行读3行原文章*/
{ p=strchr(s[i],'\n');
if(p) *p='\0'; /*消除每行最后的回车符*/
i++;
}
strcpy(s[i++],s1); /*插入到第四行*/
while(i<9&&fgets(s[i],101,fp)!=NULL) /*继续读原文章*/
{ p=strchr(s[i]