这是我第一次使用文件,虽然我得到了一般的想法,但我在实现简单算法时遇到了一些问题。
例如,我正在尝试编写一个计算给定文件中字符数的代码。字母数。
这是我的代码:
#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)
有关如何......
的信息为什么会发生这种情况,我该如何解决?
答案 0 :(得分:4)
听起来你的程序无法读取输入文件。你应该总是检查fopen为null来检测这类问题
fp=fopen("G:\hellostackoverflow.txt","r");
if(fp == NULL){
printf("could not open file\n");
return 1;
}
我的猜测是问题是路径名中未反转的反斜杠。尝试转义它"G:\\hellostackoverflow.txt"
或将文件移动到不需要反斜杠的其他位置。