求教:v2010编译环境下 c语言的文件读显问题!!

SHUIMU_1 2012-03-22 10:33:08
、、、、、、、、、、、、、、代码如下、、、、、、、、、、、、、、、
#include "stdafx.h"
#include "stdlib.h"

int _tmain(int argc, _TCHAR* argv[])
{
FILE *fpGrade;
fpGrade = fopen("C:/tx.txt","rb");
if (fpGrade == 0)
{
printf("\nConnot open file\n");
}
fseek(fpGrade,0,SEEK_END);
int len = ftell(fpGrade);
fseek(fpGrade,0,SEEK_SET);

char *pbuffer = new char[len];
fread(pbuffer,1,len,fpGrade);
printf("%s",pbuffer);
system("PAUSE");
}
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

编译出现以下错误:
debug assertion failed!(后面一大串)
、、、

在同学的电脑上运行相同的程序没有错,并打印txt内容,但是在我的电脑上却不行,蛋疼、、、、
--
...全文
98 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
面包大师 2012-03-22
  • 打赏
  • 举报
回复
fpGrade = fopen("C:/tx111.txt","w+"); //你这样试下,不存在就创建
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
fpGrade 开始的时候是0xcccc
然后直接向下运行 变为0x00000
进入if语句,先打印 Connot open file
但是我的txt是放在c盘根目录下的啊,为什么fpgrade会变为 0x00000
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
嗯,是运行的时候出错的,谢谢楼上的建议,我试一下
面包大师 2012-03-22
  • 打赏
  • 举报
回复
new了之后要记得delete。。。。
面包大师 2012-03-22
  • 打赏
  • 举报
回复
int len = ftell(fpGrade); //你打印下这个len是多少,
char *pbuffer = new char[len]; //new了之后要判空,看是不是正常的申请到了内存
面包大师 2012-03-22
  • 打赏
  • 举报
回复
编译就会出现这个问题?不会吧?应该是运行的时候才会出这种问题。。。
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
自己顶,希望大家帮一下忙,纠结几天了、、、
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
文件名和地址都有检查,属性也是一样的。
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
shyrgst 2012-03-22
  • 打赏
  • 举报
回复
那程序可能没有问题,
问题可能在于你的文件本身,
文件名和地址,属性是否正确
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
问题已解决,谢谢大家的帮助。
SHUIMU_1 2012-03-22
  • 打赏
  • 举报
回复
"w+" 是程序创建一个文本,并写入。而 “r”是程序读取已有的文本,并打印。这两个不一样吧。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧