有没有办法在读取文本文件后从文本文件中删除第一个字符?

有没有办法在阅读后删除文本文件中的第一个字符? 我希望程序从文本文件中读取字符,一旦使用它,它应该删除从文本文件中读取的当前字符。

你无法从文件中删除字符,你可以修改它们并逻辑上说数据已被删除。

我们无法删除文件内容。 您可以在要删除文件中的字符的位置添加*(或文件中没有的任何内容),而不是删除。

在更多删除之后,你的文件中有很多*。 只需将文件中除*之外的整个文件复制到新文件中

删除旧文件将新文件重命名为旧文件

要么

您只需在删除部分后删除要删除的部分的数据。

看到这段代码:

#include  #include  int main(){ FILE *fp = fopen("file.txt","r+"); /* Open for reading and writing */ FILE *fp1=fopen("new.txt","a+"); FILE *fp2=fopen("new2.txt","a+"); char ch; int i=0,n; printf("Enter how many characters do you want to delete from file\n "); scanf("%d",&n); while(((ch = fgetc(fp)) != EOF )&&( in) fputc("%c",ch); i++; } printf("\n\n"); fclose(fp); fclose(fp1); fclose(fp2); //use rename() and remove() functions to delete old file and then rename new file as old one. return 0; } 

您不能在开头插入,在开头删除,在中间插入,在文件中间删除而不重写它。 最后附加是可能的。 有时可以在最后删除(取决于平台)。

根据您的需求和系统,您可能对管道感兴趣。 至少他们有能力做你想做的事。 虽然管道用于进程间通信。

对于Linux,请看这里 。

对于Windows,请看这里 。