1

这是我一段时间以来第一次使用文件,虽然我得到了大致的想法,但我在实现简单算法时遇到了一些问题。

例如,我正在尝试编写一个代码来计算给定文件中的字符数。字母数。

这是我的代码:

#include<stdio.h>
FILE *fp;
void main()
{
    int counter=0;
    fp=fopen("G:\hellostackoverflow.txt","r");
    while(fgetc(fp)!=EOF)
        counter++;
    printf("there are %d letters", counter);
}

当我运行它时,我遇到了一个错误,类似于:

调试断言失败!

表达式(流!=NULL)

有关如何...

为什么会发生这种情况,我该如何解决?

4

1 回答 1

4

听起来您的程序无法读取输入文件。您应该始终检查 fopen 是否为 null 以检测此类问题

fp=fopen("G:\hellostackoverflow.txt","r");
if(fp == NULL){
     printf("could not open file\n");
     return 1;
}

我的猜测是问题在于路径名中未转义的反斜杠。尝试转义它"G:\\hellostackoverflow.txt"或将文件移动到不需要反斜杠的其他位置。

于 2014-07-07T05:37:26.137 回答