在Linux中使用C语言从txt文件中删除空行的方法是通过读取源文件,将非空行写入新的目标文件,最后将目标文件重命名为源文件的名称。
下面是一个示例的C语言代码实现:
#include <stdio.h>
int main() {
FILE *sourceFile, *targetFile;
char ch;
// 打开源文件和目标文件
sourceFile = fopen("source.txt", "r");
targetFile = fopen("target.txt", "w");
// 如果文件打开失败,显示错误信息并退出程序
if (sourceFile == NULL || targetFile == NULL) {
printf("文件打开失败\n");
return -1;
}
// 逐行读取源文件
while ((ch = fgetc(sourceFile)) != EOF) {
// 如果不是空行,将字符写入目标文件
if (ch != '\n') {
fputc(ch, targetFile);
}
}
// 关闭文件
fclose(sourceFile);
fclose(targetFile);
// 删除源文件
if (remove("source.txt") == 0) {
// 重命名目标文件为源文件的名称
if (rename("target.txt", "source.txt") != 0) {
printf("文件重命名失败\n");
}
} else {
printf("文件删除失败\n");
}
return 0;
}
上述代码通过打开源文件和目标文件,并逐行读取源文件的内容。如果读取到的字符不是换行符,则将该字符写入目标文件。最后,关闭文件,删除源文件,并将目标文件重命名为源文件的名称。
请注意,代码中的文件名是示例文件名,使用时请根据实际情况修改文件名。
对于Linux环境下的C语言开发,可以使用gcc编译器进行编译。以示例代码为例,使用以下命令进行编译:
gcc -o delete_empty_lines delete_empty_lines.c
编译成功后,可以通过以下命令运行程序:
./delete_empty_lines
此时,程序将会执行删除源文件中的空行操作。
领取专属 10元无门槛券
手把手带您无忧上云