| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:bug求解决:c语言通过access(const char* filename,int amode)函数检查目标文 ...
只看楼主 加入收藏
nandiin
Rank: 2
等 级:论坛游民
帖 子:29
专家分:25
注 册:2013-2-28
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:6 
bug求解决:c语言通过access(const char* filename,int amode)函数检查目标文件是否存在
程序代码:
bool FileExist(char* fileName)
{
    return access(fileName,0)==0;
}

我的项目是这样的: 程序运行,一个线程通过摄像头捕获图像信息,每隔x帧存在特定目录,另一个线程不断的读该目录将每帧图片经过处理后存到另一个目录,现在的问题是刚开始运行时摄像头捕获的线程比较慢,处理图片的线程需要等待,这时通过上面的函数来判断要处理的文件(图片)有没有生成,但是这里有个bug,好像文件刚刚被创建这个函数就返回true,而不是在文件写入完毕之后,所以处理图片的线程认为目标文件存在的时候其实文件时空的,然后程序就走不通了,  各位大侠有没有什么方法可以解决这个问题啊?

[ 本帖最后由 nandiin 于 2013-2-28 20:34 编辑 ]
搜索更多相关主题的帖子: 图片 
2013-02-28 20:32
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:0 
学习,呵呵
2013-02-28 22:23
nandiin
Rank: 2
等 级:论坛游民
帖 子:29
专家分:25
注 册:2013-2-28
收藏
得分:0 
踩了五十多个人了  怎么没有能解决的啊   @大神啊
2013-03-01 10:57
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:9 
fileName.tmp=>fileName.jpg
简单处理一下,用个临时文件名过渡一下,写完后更名。

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2013-03-01 19:15
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:1 
你在处理图片的线程里面设个标志,只有图片真的存在了再去使能这个标志?

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-03-03 07:30
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
4楼正解
用临时文件,写完改名就行了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-03-03 09:31
nandiin
Rank: 2
等 级:论坛游民
帖 子:29
专家分:25
注 册:2013-2-28
收藏
得分:0 
回复 5楼 pauljames
尝试过,我是用指针在两个线程中间传递标志变量的,速度会受点影响
2013-03-04 23:26
快速回复:bug求解决:c语言通过access(const char* filename,int amode)函数检查 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015082 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved