C语言fopen打开文件问题(莫名其妙的问题)

amwbai8700 2015-03-02 09:19:45
VS2012,C语言用fopen函数打开文件时候文件指针的值是这样的:
msvcr110d.dll!0x101444c8 {_ptr=0x00000000 <NULL> _cnt=0 _base=0x00000000 <NULL> ...}
整个程序运行不会有问题,也不会提示错误,但是其实读到的每个值都是非常小的接近零的值。
后来把程序复制到另外一个电脑上,VS2010,打开同样的文件,没有问题!
到底是怎么回事啊!又被C语言这种莫名其妙的问题弄疯了。
...全文
446 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2015-03-04
  • 打赏
  • 举报
回复
我猜是不是要E:\\file
layershow 2015-03-04
  • 打赏
  • 举报
回复 1
是你理解错了,一点也不莫名其妙 FILE * 本身不是 NULL,其指向的结构体中某字段可以是 NULL,因为你还没使用它呢
赵4老师 2015-03-03
  • 打赏
  • 举报
回复
楼主研究FILE结构体的成员的值有何意义? 用fread,fwrite,fseek,ftell这些函数通过指向FILE结构体的指针能操作文件不够用? 推荐使用WinHex软件查看硬盘或文件或内存中的原始字节内容。 不要把 fopen("...","...");fscanf,fprintf,fgets,fgetc,fclose //读时把\r\n替换成\n,写时把\n替换成\r\n;读到\x1a就设置EOF;读写的内容当字符看待 和 fopen("...","...b");fseek,fread,fwrite,fgetc,fclose //不作以上替换,遇到\x1a仍继续读;读写的内容当字节看待 弄混了
707wk 2015-03-03
  • 打赏
  • 举报
回复
看了楼上一堆人的回答还是没懂lz你想问啥
  • 打赏
  • 举报
回复
不明白你在问什么问题的飘过
Isnis-fallen 2015-03-03
  • 打赏
  • 举报
回复
文件指针的值不是有吗 有什么问题?
ztenv 2015-03-03
  • 打赏
  • 举报
回复
楼主去学一下C语言下FILE结构的声明吧,网上搜一搜也可以找到相关的资料;建议了解一下即可。

69,371

社区成员

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

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