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