Я пытаюсь написать простую программу для чтения текстового файла с именем «1.txt» (который содержит только «ab c») в Windows ОС CE с использованием Windows Mobile 5.0 SDK, WIN32 и C в Visual Studio 2008. Я сохранил этот текстовый файл в папке «Мои документы».
Моя программа выдает ошибку «Не удается открыть текстовый файл», что означает, что я не могу открыть файл для чтения. Я подозреваю, что я не устанавливаю правильный путь к моему файлу в соответствии с файловой структурой WinCE, но (как вы можете видеть из моего прокомментированного кода) я пробовал все виды выражений пути для Windows CE безрезультатно. Я попробовал функцию GetModuleFileName (), и она возвращает путь к файлу "Мои документы \ 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);
}
.
.
Вот содержимое моего заголовочного файла 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
Как открыть текстовый файл «Мои документы \ 1.txt» для чтения?