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

时间:2014-05-06 14:19:53

标签: c file

您好。 我需要读取几个没有空格的文件或字符之间的空行。它们可以有不同的布局,例如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:

s o m e t h i n g
l i k e 
t h a t

我该怎么做?我只需要以下代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

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);
}

1 个答案:

答案 0 :(得分:0)

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

这是让你入门的东西:

您可以阅读整个文件,然后删除任何您不想要的内容。以下帖子同意我的经验,您的应用程序可能会以这种方式运行得更快: Reading a file faster in C

如果您同意这种方法,下一篇文章将向您展示如何将文本文件读入缓冲区,并进行一些错误处理: Reading the whole text file into a char array in C

然后你可以使用这样的东西来删除空格,以及类似的额外新行: Function to remove spaces from string/char array in C

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