3485|5

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

ReadFile 失败 [复制链接]

在EVC下使用多线程打开文件遇到如下问题
   1.使用CreateFile打开硬盘上的一个文件,有时出现打开失败,GetLastError返回2,文件不存在,但是文件确实存在,而且我在操作完文件后立即将文件关闭。

   2.ReadFile读文件的过程中,出现4309号错误,这个操作所需的资源已禁用。 是什么原因。

多谢!

最新回复

GetLastError = 2 说明文件不存在,一般是路径造成的。例如你的路径是相对路径,那就应该注意了,是不是当前目录已经改变了。 还有如果是在外部卡上的路径,是不是卡接触不好的啊。 最好能贴出详细代码。  详情 回复 发表于 2008-2-1 10:34
点赞 关注

回复
举报

70

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
基本上可以肯定是你的代码有问题,你检查一下你的多线程部分,是不是发生了线程冲突。
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
两个线程同时打开同一个文件就会出现上述问题。

该文件在此处就是应该考虑共享的资源。
使用同步机制。
CEvent。
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
不懂
up
 
 
 

回复

90

帖子

0

TA的资源

一粒金砂(初级)

5
 
主要是占用资源互相排斥问题,
两个线程同时对一个文件操作就会出现如上的问题了。
要做好互斥机制。
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

6
 
GetLastError = 2 说明文件不存在,一般是路径造成的。例如你的路径是相对路径,那就应该注意了,是不是当前目录已经改变了。
还有如果是在外部卡上的路径,是不是卡接触不好的啊。

最好能贴出详细代码。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表