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

如何用C重写文本文件中的一部分行

在C语言中,可以使用文件操作函数来重写文本文件中的一部分行。以下是一个示例代码:

代码语言:txt
复制
#include <stdio.h>
#include <stdlib.h>

int main() {
    FILE *file;
    char line[100];
    int lineNumber = 1;
    int startLine = 3;
    int endLine = 7;

    // 打开文件
    file = fopen("example.txt", "r+");
    if (file == NULL) {
        printf("无法打开文件。\n");
        exit(1);
    }

    // 定位到指定行的起始位置
    while (fgets(line, sizeof(line), file) != NULL) {
        if (lineNumber == startLine) {
            break;
        }
        lineNumber++;
    }

    // 重写指定行的内容
    while (lineNumber <= endLine) {
        printf("请输入第 %d 行的新内容:", lineNumber);
        fgets(line, sizeof(line), stdin);
        fseek(file, -strlen(line), SEEK_CUR);
        fputs(line, file);
        lineNumber++;
    }

    // 关闭文件
    fclose(file);

    printf("重写完成。\n");

    return 0;
}

上述代码中,我们首先使用fopen函数打开要操作的文本文件(此处假设文件名为example.txt),并以读写模式打开("r+")。然后,我们使用fgets函数逐行读取文件内容,通过判断行号是否达到指定的起始行(此处假设为第3行),来定位到指定行的起始位置。

接下来,我们使用一个循环来重写指定行的内容。在每次循环中,我们使用fgets函数从标准输入读取用户输入的新内容,并使用fseek函数将文件指针移回到当前行的起始位置,然后使用fputs函数将新内容写入文件。

最后,我们使用fclose函数关闭文件,并输出提示信息表示重写完成。

请注意,上述代码仅为示例,实际使用时可能需要根据具体需求进行适当修改。

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

相关·内容

26分40秒

晓兵技术杂谈2-intel_daos用户态文件系统io路径_dfuse_io全路径_io栈_c语言

3.4K
1分7秒

REACH SVHC 候选清单增至 235项

领券