在C语言中,可以使用文件操作函数来重写文本文件中的一部分行。以下是一个示例代码:
#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
函数关闭文件,并输出提示信息表示重写完成。
请注意,上述代码仅为示例,实际使用时可能需要根据具体需求进行适当修改。
领取专属 10元无门槛券
手把手带您无忧上云