社区
C语言
帖子详情
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语言这种莫名其妙的问题弄疯了。
...全文
463
7
打赏
收藏
C语言fopen打开文件问题(莫名其妙的问题)
VS2012,C语言用fopen函数打开文件时候文件指针的值是这样的: msvcr110d.dll!0x101444c8 {_ptr=0x00000000 _cnt=0 _base=0x00000000 ...} 整个程序运行不会有问题,也不会提示错误,但是其实读到的每个值都是非常小的接近零的值。 后来把程序复制到另外一个电脑上,VS2010,打开同样的文件,没有问题! 到底是怎么回事啊!又被C语言这种莫名其妙的问题弄疯了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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你想问啥
圣地亚哥老亚瑟在北极送外卖
2015-03-03
打赏
举报
回复
不明白你在问什么问题的飘过
Aist-memory
2015-03-03
打赏
举报
回复
文件指针的值不是有吗 有什么问题?
ztenv
2015-03-03
打赏
举报
回复
楼主去学一下C语言下FILE结构的声明吧,网上搜一搜也可以找到相关的资料;建议了解一下即可。
使用
C语言
做一个简单的文本编辑器,文件为
C语言
源代码,可直接运行
可以实现3个功能,意识可以对指定行输入字符串;二是,可以删除指定行的字符串;三是,可以显示输入的字符串的内容。
文件操作
文件操作常函数
fopen
函数 函数原型为:FILE *
fopen
(const char *filename,const char *mode);
fopen
(文件路径,文件使用方法);
fopen
函数打开打开filename指定文件,返回一个指向FILE类型指针,无论使用哪种方式,当
打开文件
时出现了错误,
fopen
函数都将会返回NULL 常见的使用方式: “r” —以只读的方式
打开文件
(该文件必须存在,不存在就会出错) “w” —以只写的方式
打开文件
(若文件存在则长度清零,即文件内容会消
C语言
总结项目和入门——文件操作
文章目录七、
C语言
入门——文件操作文件操作1. 文件打开:
fopen
函数2.文件关闭:fclose3.文件读取 七、
C语言
入门——文件操作 我们前面的所有程序都是暂时的,把程序一关,什么都不会留下来,打开又是从头再来,当我们希望能保留一下处理的数据,或者对现存在的数据进行处理,我们就需要文件操作了。 我们主要讨论如何对数据文件进行操作。 像什么文本文件,都是存储在磁盘上的,这些数据掉电不丢失,我们把程序处理的数据放在这里,就能实现长期保留了。 文件分成2类:ASCII文件和二进制文件。
使用
fopen
错误关闭文件
问题
昨晚,遇到一个很久才查出来的BUG,在此写下博客,提醒自己写代码一定要细心,往往很多BUG都是很细小的点没有注意到! 例如: FILE *fp = NULL; fp =
fopen
("/sys/class/net/usb0/mtu", "r"); if(NULL == fp) {
求助帖,
c语言
读取txt文件时出现乱码
文档里存了china,读取的时候却是乱码,请问大家为什么啊。
C语言
70,024
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章