如何在 C 编程中覆盖文本文件中的字符串?

问题描述 投票:0回答:0

我的“file.txt”是这样的:

1.我叫 Yugal Bishram Don
2.

这里1.2.表示行号。
这意味着文件包含:

My name is Yugal Bishram Don\n

现在我以
"r+"
模式打开这个文件并读取文件倒回指针并将内容写入:


    FILE *fp=fopen("file.txt", "r+");
    fscanf(fp,"%[^
]", 缓冲区 1);
    //我用buffer1做了一些事情
    倒带(fp);
    fprintf(fp,"我叫 Aswin Don
");
    fclose(fp);


现在我的“**file.txt**”看起来像这样:

1.My name is Aswin Don
2.am Don
3.

但我很困惑。
我的名字是Aswin Don ” 是 21 字符,应覆盖文件内容的前 21 字符,即“My name is Yugal Bish”,其余字符即“ram Don 》应该是这样的,但不是这样写的。》ram Don ”变成了“am Don”。所以我的问题是“ram Don”的第一个字符'r'在哪里 ”消失了。

c file-handling
© www.soinside.com 2019 - 2024. All rights reserved.