Winapi WIN32-在Windows CE中读取MyDocuments中的文本文件返回空白

Winapi WIN32-在Windows CE中读取MyDocuments中的文本文件返回空白,winapi,windows-ce,wc,Winapi,Windows Ce,Wc,我正在尝试编写一个简单的程序,在VisualStudio2008中使用WindowsMobile5.0SDK、WIN32和C在WindowsCE操作系统中读取名为“1.txt”(其中仅包含“abc”)的文本文件。我已将此文本文件存储在“文档”文件夹中 我的程序出现错误“无法打开文本文件”,这意味着我无法打开要读取的文件。我怀疑我没有根据WinCE文件结构设置正确的文件路径,但是(正如您从我的注释代码中看到的),我尝试了Windows CE的各种路径表达式,但都没有用。我尝试了GetModuleF

我正在尝试编写一个简单的程序,在VisualStudio2008中使用WindowsMobile5.0SDK、WIN32和C在WindowsCE操作系统中读取名为“1.txt”(其中仅包含“abc”)的文本文件。我已将此文本文件存储在“文档”文件夹中

我的程序出现错误“无法打开文本文件”,这意味着我无法打开要读取的文件。我怀疑我没有根据WinCE文件结构设置正确的文件路径,但是(正如您从我的注释代码中看到的),我尝试了Windows CE的各种路径表达式,但都没有用。我尝试了GetModuleFileName()函数,它返回文件路径“My Documents\1.txt”。这是我的密码:

#include <winbase.h>
#include <windows.h>
#include <windowsx.h>
#include <winuser.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "resource.h"
#include "ScanCAPI.h"
#include <time.h>
#include <tchar.h>

#pragma comment(lib, "Kernel32.lib")

wchar_t text10[256];

FILE * fPtr;
.
.
    switch(uMsg)
    {

        case WM_INITDIALOG:

            fPtr = _wfopen ("My Documents\\1.txt" , "rt");
            //fPtr = _wfopen ("\\My Documents\\1.txt" , "rt");  
            //fPtr = _wfopen ("\My Documents\1.txt" , "rt");        
            //fPtr = _wfopen ("My Documents\1.txt" , "rt");
            //fPtr = _wfopen ("My Device\1.txt" , "rt");
               if (fPtr != NULL)
               {
                 if ( fgetws (text10 , 100 , fPtr) != NULL )
                   wprintf("%s",fgetws(text10,255,fPtr));
                   //fwscanf(fPtr,"%s", &text10);
                   //fgetws (text10 , 255 , fPtr);                 
                   //fputws ( text10, stdout );
                   //fwscanf(fPtr,"%s", &text10);
                 MessageBox(0, text10, TEXT("text10"), MB_OK); //returning blank message box
               } else {
                 MessageBox(0, TEXT("Cannot read file."), TEXT("File Read Error"), MB_OK);
               }


            if(fPtr == NULL)
            {
                //Open File failure
                fclose(fPtr);
                MessageBox(0, TEXT("Cannot open text file."), TEXT("File Open Error"), MB_OK);
                PostQuitMessage(0);
            }

.
.

如何打开我的“my Documents\1.txt”文本文件进行阅读?

它似乎确实在Windows CE上可用

调用该选项可获取“我的文档”文件夹的完整路径。

它似乎确实在Windows CE上可用


调用它以获取“我的文档”文件夹的完整路径。

或者
fPtr=\u wfopen(L“path\u to\\1.txt”,L“rt”)

fPtr=fopen(“path_to\\1.txt”,“rt”)在Windows 10上适用于我


尝试
fopen
而不是
\wfopen
,后者是
fopen
的宽字符版本

fPtr=\uwfopen(L“path\u to\\1.txt”,L“rt”)

fPtr=fopen(“path_to\\1.txt”,“rt”)在Windows 10上适用于我


尝试
fopen
而不是
\wfopen
,后者是
fopen
的宽字符版本

您似乎未能理解一个非常基本的概念:。这似乎是你们所有人的主题。您必须先解决这个问题,才能取得任何进展。@IInspectable:Windows CE的文件系统不像成熟的Windows文件系统那样工作。在Windows CE中,文件系统被压缩和展平。在Windows CE中找不到类似“C:\1.txt”的路径。@请尝试使用
fopen
而不是
fopen
的宽字符版本。或者使用
fPtr=\uwfopen(L“path\u to\\1.txt”,L“rt”)
@如果可以,请使用,当它失败时,您可以调用
GetLastError()
来检索错误代码。@Rita Han,哇,你们这些来自微软的家伙太棒了!当我将文件打开代码更改为
fPtr=fopen(“\\mydocuments\\1.txt”,“r”)。另一件事是WinCE在默认情况下隐藏了“.txt”扩展名,所以我错误地添加了该扩展名,并且实际访问了“1.txt.txt”lol。因此,它是该扩展名的组合,并抛弃了fopen的宽字符版本。感谢并支持微软的Rita Han!您似乎未能理解一个非常基本的概念:。这似乎是你们所有人的主题。您必须先解决这个问题,才能取得任何进展。@IInspectable:Windows CE的文件系统不像成熟的Windows文件系统那样工作。在Windows CE中,文件系统被压缩和展平。在Windows CE中找不到类似“C:\1.txt”的路径。@请尝试使用
fopen
而不是
fopen
的宽字符版本。或者使用
fPtr=\uwfopen(L“path\u to\\1.txt”,L“rt”)
@如果可以,请使用,当它失败时,您可以调用
GetLastError()
来检索错误代码。@Rita Han,哇,你们这些来自微软的家伙太棒了!当我将文件打开代码更改为
fPtr=fopen(“\\mydocuments\\1.txt”,“r”)。另一件事是WinCE在默认情况下隐藏了“.txt”扩展名,所以我错误地添加了该扩展名,并且实际访问了“1.txt.txt”lol。因此,它是该扩展名的组合,并抛弃了fopen的宽字符版本。感谢并支持微软的Rita Han!
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
//
#define IDD_DIALOG_SSCAN                101
#define IDI_ICON1                       102
#define IDC_STATIC1                     995
#define IDC_EDIT1                       1010
#define IDC_BUTTON1                     1012

// Next default values for new objects
// 
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        105
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1014
#define _APS_NEXT_SYMED_VALUE           106
#endif
#endif