我正在编写一个程序,用于扫描文本文件中的单词
如何只扫描以空格或数字开头并以空格结尾的单词
不将',.()\t\n
带到我的字符串
我知道我可以使用函数scanf,但不太明白如何使用它
另一个小问题
我想知道我的文字中有多少行 所以我想我应该寻找一个“\ n”标志来增加我的数量吧?
答案 0 :(得分:1)
首先,当你提出一个问题时,你需要遵循一些规则,这里有关于如何在堆栈溢出中提问的方法:
来自Stack Overflow帮助中心的如果我正在执行此任务,我将通过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日,你的名字看起来很熟悉,重点是,这不是一个家庭作业的网站,下次要注意这个。