如何从c中的文件中删除空格

时间:2017-05-09 04:19:07

标签: c io

我希望文件没有任何空格,但我在下面尝试的代码我不知道如何删除一个字符,所以我尝试插入一个退格(不可打印的字符),但这似乎不是工作

#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除了空格以外)

1 个答案:

答案 0 :(得分:2)

您无法从文件中间删除字符。

您需要做的是创建一个新文件,并将不是空白的所有字符写入新文件。然后,您可以根据需要删除旧文件。