3718|9

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

没分了,但有个问题需要大家帮忙喔 [复制链接]

想读一个.txt文件中的字符串长度,这样写错在哪里?
HANDLE hFile1;
        DWORD dwBytesRead1;
        char buff1[512];
       
        hFile1 = CreateFile(L"\\Storage Card\\Radio1.TXT",GENERIC_READ,0,NULL,OPEN_EXISTING,
                FILE_ATTRIBUTE_NORMAL,NULL);
        if(hFile1 == INVALID_HANDLE_VALUE)
        {
                return 0;
        }
       
        if(ReadFile(hFile1 , buff1, 512, &dwBytesRead1, NULL))
        {
                if( strlen(buff1) != 0)
                {
                        //AfxMessageBox(L"8600");
                        ((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(1);
                }
        }

大家帮忙看下喔   超级谢谢!!!!

最新回复

用dwBytesRead1 来判断应该可以的。 要用strlen(buff1)来判断,我想应该在开始对buff1初始化一下 ZeroMemory(buff1, sizeof(buff1));   详情 回复 发表于 2007-9-11 11:02
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
你的程序现在出了什么问题?
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
现在问题是无法读出文件的内容,上面代码就是想判断文件中的字符串长度,因为我的文件只有两种情况,1是存一个固定的字符串,2是文件中为空。所以想通过判断字符串长度来进行判断!
 
 
 

回复

87

帖子

0

TA的资源

一粒金砂(初级)

4
 
CE里没有专门的打开文件的API?
不会吧?
 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

5
 
楼上。。。。打击我。。     5555
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

6
 
现在可以确定是这段的错误:
if(ReadFile(hFile1 , buff1, 512, &dwBytesRead1, NULL))
        {
                if( strlen(buff1) != 0)
                {
                        //AfxMessageBox(L"8600");
                        ((CButton *)GetDlgItem(IDC_CHECK1))->SetCheck(1);
                }
        }

大家有空的话帮忙看看啊
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

7
 
如果是Unicode问题的话,用_tcslen试试
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

8
 
ReadFile这个函数的参数dwBytesRead1,不就是代表实际读到内存中的字节数么!!
你判断这个值是否大于一不可以么?
if( strlen(buff1) != 0)
改成
if(dwBytesRead1>1 )
成不
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(初级)

9
 
是的,用if( dwBytesRead1 != 0)應該可以!
Nonzero indicates success. Zero indicates failure.
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
用dwBytesRead1 来判断应该可以的。
要用strlen(buff1)来判断,我想应该在开始对buff1初始化一下
ZeroMemory(buff1, sizeof(buff1));
 
 
 

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

随便看看
查找数据手册?

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
快速回复 返回顶部 返回列表