内存错误!
#include<stdio.h>int main()
{
FILE *fp;
int i = 0;
char ch, str;
if (fp = fopen("D:\\桌面\\1.txt", "r") == NULL)
{
printf("文件未打开!");
return 0;
}
do
{
ch = fgetc(fp);
if (ch == 10)
{
printf("%s\n", str);
fseek(fp, 1, 1);
i = 0;
}
str = ch;
i++;
} while (ch != EOF);
fclose(fp);
return 0;
}
调试了一下
可以编译为什么一到ch = fgetc(fp)就出错退出呢?
改成这样就oK,if (!(fp = fopen("d:\\桌面\\1.txt", "r")))
我里我也是刚刚学过,感觉是文件没有正常打开; 本帖最后由 haiouda 于 2015-4-11 21:09 编辑
明白了,你if 这里错了;
这样写就对了:if ((fp = fopen("d:\\桌面\\1.txt", "r"))==NULL)
说白一点,就是 “=”和“==”的优先级你没搞懂!
haiouda 发表于 2015-4-11 21:05
明白了,你if 这里错了;
这样写就对了:if ((fp = fopen("d:\\桌面\\1.txt", "r"))==NULL)
对啊忘加括号了:shy:
页:
[1]