用C语言怎么把文件中的两行合并成一行

2024-11-29 07:39:21
推荐回答(3个)
回答(1):

  1. 使用文件操作函数打开文件,读取信息,重新写入并覆盖原文件,写的时候当遇到需要合并的两行时,忽略两之间的换行符。

  2. 例程:

    #include 
    #include 
    #define K 5    //合并第六行第七行
    FILE *p;//文件指针
    int i,j;
    char a[1000][1000];
    int main(){
        p = fopen("文件名称", "r");//第一个字符串是你文件路径,路径中的\要写成\\,文件名必须带后缀
        for(i=0;fgets(s[i],1000,p)!=EOF;i++)//EOF为文件尾(end of file),读取文本中的数据  
        merge(); //合并操作
        fclose(p);
        p = fopen("文件名称", "w");//以写入方式重新打开
        for(j=0;j      fprintf(p,s[j]);
          if(j!=K)fprintf(p,"\n"); //当不为合并行时,输出一个换行符
        }
        fclose(p)
        return 0;
    }

回答(2):

#include
#include
void main()
{
FILE *fp1,*fp2;
char line[1024];
int n=0;
fp1=fopen("file.txt","r");
if ( fp1==NULL ) return ;
fp2=fopen("file1.txt","w");
while( fgets(line,sizeof(line),fp1) )
{
n++;
if( n%2 )
line[strlen(line)-1]='\0'; //去掉回车
fprintf(fp2,"%s", line );
}
fclose(fp1);
fclose(fp2);
}
生成的file1.txt就是你想要文件

回答(3):

很简单。一个字符串一个字符的读取,遇到第奇数个换行符号,替换成空格,第偶数个跳过。然后保存以后重新打开就可以了。要求必须是你这样格式的文件