C语言实现按行读写文件
C语言提供了丰富的文件操作函数,可以很方便地实现按行读写文件的功能。下面是一个简单的示例代码,可以实现按行读取一个文件,将其逐行写入另一个文件。
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_LINE_LENGTH 100
int mai
FILE *input_file, *output_file;
char input_filename[100], output_filename[100];
char line[MAX_LINE_LENGTH];
printf("请输入需要读取的文件名:");
scanf("%s", input_filename);
printf("请输入需要写入的文件名:");
scanf("%s", output_filename);
//打开输入文件
input_file = fopen(input_filename, "r");
if (input_file == NULL)
printf("无法打开输入文件\n");
return 1;
}
//打开输出文件
output_file = fopen(output_filename, "w");
if (output_file == NULL)
printf("无法打开输出文件\n");
fclose(input_file);
return 1;
}
//按行读取输入文件,并写入输出文件
while (fgets(line, MAX_LINE_LENGTH, input_file) != NULL)
fputs(line, output_file);
}
//关闭文件
fclose(input_file);
fclose(output_file);
printf("文件已成功写入\n");
c语言写入txt文件return 0;
```
这段代码使用了`fgets(`函数来逐行读取文件内容,`fputs(`函数来将每行内容写入文件。通过输入文件名和输出文件名,可以将一个文件内容按行复制到另一个文件中。
注意,上述代码并没有对文件名长度进行检查,如果输入的文件名太长可能导致缓冲区溢出。实际使用中需要对文件名长度进行适当的限制,并进行必要的错误检查和处理。