计算C中的字符数
我只需要计算我的“f”文件中的字符数。当我计算一个字符串中的字符数时,我得到了它的真实数字,但当我在我的.txt中按“回车”键并创建新行时,我丢失了2个字符。因此,有4个字符串和15个字符,我的程序告诉我文件中只有9个字符。请帮我数一数这个不幸的角色…计算C中的字符数,c,file,count,char,numbers,C,File,Count,Char,Numbers,我只需要计算我的“f”文件中的字符数。当我计算一个字符串中的字符数时,我得到了它的真实数字,但当我在我的.txt中按“回车”键并创建新行时,我丢失了2个字符。因此,有4个字符串和15个字符,我的程序告诉我文件中只有9个字符。请帮我数一数这个不幸的角色… 以下是C语言的代码: while (!feof(f)) { bool space = 1; //remembering last char (was it space or not) for (int i = 0; i <
以下是C语言的代码:
while (!feof(f)) {
bool space = 1; //remembering last char (was it space or not)
for (int i = 0; i < len; ++i) { //running till the end of string
if (a[i] == ' ') {space = 1;}
else if (a[i] != '\0' && a[i] != '\n') {
chars++;
if (space == 1) {
words++; //and counting the words
space = 0;
}
}
}
}
while(!feof(f)){
bool space=1;//记住最后一个字符(是否为空格)
对于(int i=0;i
在我看来,以下几点就足够了:
int c;
while ((c=fgetc(f))!=EOF) {
if (c == ' ' || c=='\n') {
words++;
}
else {
chars++;
}
}
chars
和words
是否初始化为0?我建议您不要在SO帖子中使用淫秽语言。现在编辑它。我从来没有看到你从f
中得到什么。请提供一个。永远不要在(!feof(f))时写入。它总是错的。while(c=fgetc(f))
不会在EOF停止。当((c=fgetc(f))!=EOF)
时,它不应该是?当然,这并不意味着,如果你计算空格字符,你就有了新单词。您应该看到,如果最后一个字符是空格,而当前字符不是。那么你就有了真实的字数;)