假设文件名为w04.txt,确保本程序所在的同一个目录下有这个文件,程序执行后将结果保存到文件w05.txt中。看你的文件是有序的,则一个完整的c程序如下,在win-tc和Dev-c++下已调试通过。
#include
#include
#include
#define N 100 /* 最多读100行 */
char s[N][81];
main()
{
int i=0,j,max;
char *p,s2[81],s1[]="333333333";
FILE *fp1,*fp2;
fp1=fopen("w04.txt","r");
fp2=fopen("w05.txt","w");
while (i
{
p=strchr(s[i],'\n');
if(p)
*p='\0';
if(strcmp(s1,s[i])>0)
i++;
else
{ strcpy(s2,s[i]);
strcpy(s[i],s1);
i++;
break;
}
}
strcpy(s[i++],s2);
while (i
{
p=strchr(s[i],'\n');
if(p)
*p='\0';
i++;
}
max=i;
for(i=0;i
{ fprintf(fp2,"%s\n",s[i]);
printf("%s\n",s[i]);
}
fclose(fp1);
fclose(fp2);
getch();
}
上面的只是插入,你要删除?那就更简单了。你只要用命令:
for(i=...;i<...>
fprintf(fp2,"%s\n",“\0”);
如果你只要删除一行就一句:
fprintf(fp2,"%s",“\0”);
好人做到底,下面的是我写的一个删除空行的完整程序,供参考
一个TXT文档,里面有很多不必要的空行,我想把无用的空行都删除,用C语言编一个程序来实现。
设文件内容为:
weiwei
weiwei
weiwei
weiwei1976520
weiwei19760617
masheng
weiwei1976520
weiwei
masheng
上面的一个完整的c程序如下,在win-tc和Dev-c++下已调试通过。
#include
#include
#include
#define N 100
int t[N];
char s[N][81];
main()
{
int i,j;
char str[81];
char s1[81],flag;
FILE *fp1,*fp2;
fp1=fopen("in.txt","r");
fp2=fopen("out.txt","w");
for(i=0;i
{
fgets(s[i],81,fp1);
if((strlen(s[i]))==1) t[i]=1;/*一个空行就是只有一个回车符*/
}
for(i=0;i
if(t[i]==0)
fputs(s[i],fp2);
fclose(fp1);
fclose(fp2);
getch();
}