我希望文件没有任何空格,但我在下面尝试的代码我不知道如何删除一个字符,所以我尝试插入一个退格(不可打印的字符),但这似乎不是工作
#include <stdio.h>
int main ()
{
FILE* fp;
fp = fopen("in.txt","r+");
int ch;
while((ch = getc(fp))!=EOF){
if( (ch == ' ') || (ch == '\n')){
fputc(8,fp);
}
}
}
文件是
abcd efgh
有没有办法做到这一点?,没有使用新文件(ie.copy除了空格以外)
答案 0 :(得分:2)
您无法从文件中间删除字符。
您需要做的是创建一个新文件,并将不是空白的所有字符写入新文件。然后,您可以根据需要删除旧文件。