【发布时间】:2016-01-04 11:53:55
【问题描述】:
我正在尝试创建一个程序来读取文件并计算以 'a' 开头的单词数。
我的想法是:
扫描一个字符,看看它是否是字母。
如果不是那么我就知道下一个字符是一个新词
扫描下一个字符以检查它是
'a'还是'A'
我想知道的是,是否有一种简单的方法可以使用fgetc() 扫描下一个字符,同时还能记住前一个字符。
类似:
char letter;
int aCount = 0;
while ((letter = fgetc(testFile)) != EOF) {
if (isalpha(letter) == false && ('nextCharacter' == 'a' || 'nextCharacter' == 'A')) {
aCount++;
}
}
非常感谢。
【问题讨论】:
-
这就是变量的作用:记住一个值。但是
fgetc返回一个int,而不是char,这是有充分理由的!请阅读函数的手册页。 -
amey,这是一个例子,其中 'nextcharacter' 将是一个包含找到的单词的下一个字符的变量
-
代码无效,正如他所说的“类似”;
-
用于存储为什么不使用数组并对其进行迭代。
-
所以我需要声明一个名为“prevChar”的新变量并添加类似 if islapha(letter) == false { prevChar == letter } 的实现,然后从那里继续?