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

WIN32 - Reading Text File In MyDocuments In Windows CE Returning Blank

我正在尝试编写一个简单的程序来读取 Windows CE OS 中名为“1.txt”(仅包含 "abc")的文本文件 OS 使用 Windows Visual Studio 2008 中的 Mobile 5.0 SDK、WIN32 和 C。我已将此文本文件存储在我的文档文件夹中。

我的程序出现错误 "Cannot open text file",这意味着我无法打开要读取的文件。我怀疑我没有根据 WinCE 文件结构为我的文件设置正确的路径,但是(正如你从我的注释代码中看到的那样)我已经尝试了 Windows CE 的各种路径表达式都无济于事。我尝试了 GetModuleFileName() 函数,它返回文件路径 "My Documents.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.txt" , "rt");        
            //fPtr = _wfopen ("My Documents.txt" , "rt");
            //fPtr = _wfopen ("My Device.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);
            }

.
.

这是我的 Resource.h 头文件的内容:

//{{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

如何打开我的 "My Documents.txt" 文本文件进行阅读?

看来 SHGetSpecialFolderPath 在 Windows CE 上确实可用。

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

或者fPtr = _wfopen(L"path_to\1.txt", L"rt");

fPtr = fopen("path_to\1.txt", "rt"); 为我工作 Windows 10.

尝试使用 fopen 而不是 _wfopen,后者是 fopen 的宽字符版本。