在WinCE中,CreateFile函数:文件打开失败

时间:2010-09-08 09:30:21

标签: c++ windows-ce

我需要在Visual Studio 2008的Windows Mobile 6项目中在WinCE中进行文件操作。

打开我确实如下的文件。

    HANDLE  hFile = CreateFile(__TEXT("\\1.txt"), GENERIC_READ ,
             FILE_SHARE_READ, NULL, OPEN_EXISTING, 
             FILE_ATTRIBUTE_NORMAL, NULL);

但是hFile将以0xffffffff的形式出现。文件打开失败。 文件存在于d:\

我试过像d:\\ 1.txt,1.txt这样的路径 但他们都没有工作。

文件名路径应该相对于哪个目录?

请帮帮我。

编辑:问题是它试图在WinCE模拟器中搜索路径。 但我的文件存在于系统硬盘d:\ 因此,在使用WinCE时,我无法访问计算机中存在的文件。 现在问题变为,如何将计算机中的文件复制到模拟器?

3 个答案:

答案 0 :(得分:1)

试图猜测问题是没用的。询问Windows出了什么问题,使用GetLastError()。在WinUser.h中查找错误代码或使用FormatMessage()。

答案 1 :(得分:1)

我的猜测是你的文件不存在。

要使用模拟器共享硬盘中的文件夹,请转到模拟器菜单: “文件 - >配置... - >常规 - >共享文件夹:”。此文件夹将被视为“存储卡”。

让我们说你映射d:\ wm,然后你把1.txt放在d:\ wm中,之后:: CreateFile的文件路径变成:L“\\ storage card \\ 1.txt”。

答案 2 :(得分:0)

您是不是在使用Boost Filesystem库?

对于文件和目录的所有工作都非常简单和好。

http://www.boost.org/doc/libs/1_44_0/libs/filesystem/v2/doc/index.htm