首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在linux中使用c从txt文件中删除空行- whitout Bash

在Linux中使用C语言从txt文件中删除空行的方法是通过读取源文件,将非空行写入新的目标文件,最后将目标文件重命名为源文件的名称。

下面是一个示例的C语言代码实现:

代码语言:txt
复制
#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编译器进行编译。以示例代码为例,使用以下命令进行编译:

代码语言:txt
复制
gcc -o delete_empty_lines delete_empty_lines.c

编译成功后,可以通过以下命令运行程序:

代码语言:txt
复制
./delete_empty_lines

此时,程序将会执行删除源文件中的空行操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的视频

领券