debug assertion tailed

zfmcs51 2009-07-28 03:54:39
以下是我的源码,在vc++6.0环境下,程序执行到 fgets(line,15,fp);这一行时,就会报错,几天了还没解决
目的是想把temp.txt文件的数据一行一行读出来.我的qq:411762697.希望能得到高手指点.
#include <stdio.h>
#include <conio.h>

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

FILE *fp;
char line[10000];
main(void)
{
if((fp=fopen("E:\\09GPLB\GAME-TXT\temp.txt","r"))==NULL)
{
fgets(line,15,fp);
printf("%s",line);
getch();
fclose(fp);
}

}
...全文
59 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shakeyou123 2009-07-28
printf("%s\n",line);
把这里面的\n去掉,fgets末尾自动加回车换行的,另外在return 1前加个printf("\n");
  • 打赏
  • 举报
回复
zfmcs51 2009-07-28
谢谢shakeyou123的正确指点.你说的很正确,谢谢!
  • 打赏
  • 举报
回复
danxuezx 2009-07-28
您的if里面的比较有效吗?
  • 打赏
  • 举报
回复
shakeyou123 2009-07-28
#include <stdio.h>
#include <conio.h>

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

FILE *fp;
char line[10000];
int main()
{
if((fp=fopen("E:\\test.txt","r"))!=NULL)
{
while(!feof(fp))
{
fgets(line,1024,fp);
printf("%s\n",line);
}
}
fclose(fp);
return 1;

}

自己写了个,楼主fp=fopen("E:\\09GPLB\GAME-TXT\temp.txt","r")==NULL这地方应该是!=NULL才对,只有文件成功打开才进行读操作,还有路径中应该用\\(转义字符),fgets在读到回车换行结束,第二个参数的含义是读了1024(默认值)个字符后仍未读到回车换行则结束,相当于是一次所能读到的最多字符数
  • 打赏
  • 举报
回复
zfmcs51 2009-07-28
非常感谢jingzhougrong这位前辈的提示,搞定了,我把正确的再给大家共享:
#include <stdio.h>
#include <conio.h>

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

FILE *fp;
char line[10000];
main(void)
{
if((fp=fopen("E:\\09GPLB\\GAME-TXT\\temp.txt","r"))!=NULL)
{
fgets(line,15,fp);
printf("%s",line);
getch();
fclose(fp);
}

}
  • 打赏
  • 举报
回复
jingzhongrong 2009-07-28
你的文件路径写错,路径中的\应使用转义符即:
E:\\09GPLB\\GAME-TXT\\temp.txt
另外逻辑上也有问题,fp为NULL执行读取?肯定有问题了。
  • 打赏
  • 举报
回复
danxuezx 2009-07-28
if((fp=fopen("E:\\09GPLB\GAME-TXT\temp.txt","r"))==NULL)

这句话是什么意思?
  • 打赏
  • 举报
回复
相关推荐
发帖
VC/MFC

1.6w+

社区成员

VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
帖子事件
创建了帖子
2009-07-28 03:54
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……