在忽略空格的同时从文件中读取单词,并在C

时间:2017-06-12 19:47:04

标签: c parsing

我正在编写一个程序,用于扫描文本文件中的单词

如何只扫描以空格或数字开头并以空格结尾的单词

不将',.()\t\n带到我的字符串

我知道我可以使用函数scanf,但不太明白如何使用它

另一个小问题

我想知道我的文字中有多少行 所以我想我应该寻找一个“\ n”标志来增加我的数量吧?

1 个答案:

答案 0 :(得分:1)

首先,当你提出一个问题时,你需要遵循一些规则,这里有关于如何在堆栈溢出中提问的方法:

来自Stack Overflow帮助中心的

How to ask

如果我正在执行此任务,我将通过char读取char,使用'while循环'结束于EOF,并在其中“if”检查是否应将此char添加到字符串并使用realloc添加它。 / p>

对于你的第二个问题,在第一个问题之前加上另一个'if'来检查char ==到'\ n',如果是,那么++是一个计算行数的int。

最后它应该是这样的:

int *input = malloc(sizeof(int));
int linesLength = 0;
int now;
int lines = 0;
whlie ((now = getc(file)) != EOF){
    if (now == '\n') {
        lines += 1;
    }
    if (/* what chars you want out */){
        /* add your char using realloc */
        linesLength += 1;
    }
}

顺便说一下,这是我需要做的完全相同的任务,直到本月18日,你的名字看起来很熟悉,重点是,这不是一个家庭作业的网站,下次要注意这个。