从文件中读取文本,跳过任何空格或空行

你好。 我需要在字符之间读取几个没有空格或空行的文件。它们可以有不同的布局,例如1.txt,2.txt或3.txt:


1.TXT:

t h i s f i l e 

2.txt:

 l i k e t h a t 

3.txt:

 something likethat 

我怎么做 ? 我只是有以下代码:

 #include  #include  #include  int main(){ char c ; FILE *fp; fp = fopen("1.txt","r"); if(fp == NULL){ puts("Open file failed\n"); exit(-1); } while(fscanf(fp,"%c\n",&c)!=EOF){ /*do things with c var*/ } fclose(fp); exit(0); } 

我想你问的是如何阅读文本文件,忽略空格和空行。 请澄清您的问题,以便我们能够更好地为您提供帮助。

这是让你入门的东西:

您可以读取整个文件,然后删除任何您不想要的内容。 以下post同意我的经验,您的应用程序可能会以这种方式运行得更快: 在C中更快地读取文件

如果您同意这种方法,下一篇文章将向您展示如何将文本文件读入缓冲区,并进行一些error handling: 将整个文本文件读入C中的char数组

然后你可以使用这样的东西来删除空格,以及类似的额外新行: 函数从C中的字符串/字符数组中删除空格

我希望这有助于您入门,也许今天有人会抽出时间为您发布一些代码。