Chinaunix

标题: 在C环境下,如果将WIN32_FIND_DATA数据输出到屏幕上? [打印本页]

作者: fyimail    时间: 2008-10-15 11:25
标题: 在C环境下,如果将WIN32_FIND_DATA数据输出到屏幕上?
typedef struct _WIN32_FIND_DATA {
  DWORD dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD nFileSizeHigh;
  DWORD nFileSizeLow;
  DWORD dwOID;
  TCHAR cFileName[MAX_PATH];
} WIN32_FIND_DATA;

我想输出 cFileName, 可是这种TCHAR类型的要如何输出啊?
作者: Godbach    时间: 2008-10-15 11:27
TCHAR具体对应标准类型的那一种呢,应该是字符吧

[ 本帖最后由 Godbach 于 2008-10-15 11:28 编辑 ]
作者: alexhappy    时间: 2008-10-15 11:30
标题: 回复 #2 Godbach 的帖子
TCHAR对应char
作者: fyimail    时间: 2008-10-15 11:30
是啊,我用printf(“%s”,wfd.cFilename);, 结果只输出了这个字符串的文件名的第一个字母。
作者: prc    时间: 2008-10-15 11:41
编译的时候把宏_UNICODE去掉,然后就可以用printf输出了
作者: blizzard213    时间: 2008-10-15 13:26
原帖由 alexhappy 于 2008-10-15 11:30 发表
TCHAR对应char

你这个回答不准确
在未定义UNICODE宏时才是char否则是wchar
作者: fyimail    时间: 2008-10-15 14:39
在编译时候如何把宏_UNICODE去掉?
作者: blizzard213    时间: 2008-10-15 14:50
原帖由 fyimail 于 2008-10-15 14:39 发表
在编译时候如何把宏_UNICODE去掉?

方法1.工程选项里把unicode改为多字节
方法2.工程选项里把编译器选项的precompile中的_UNICODE去掉
方法3.在源文件里:
#ifdef xxx
#undef xxx
#endif
作者: fyimail    时间: 2008-10-15 15:22
谢谢你。
我按照方法1做了,可是编译时候一个语句出错,
LPCWSTR strFilename2 = L"E:\\app\\receiveEmail\\*.*";
HANDLE hd = FindFirstFile((LPCWSTR)strFilename2,&wfd);
Error        1        error C2664: 'FindFirstFileA' : cannot convert parameter 1 from 'LPCWSTR' to 'LPCSTR'        e:\app\findfile1\findfile1\findfile1.cpp        13
作者: blizzard213    时间: 2008-10-15 15:24
原帖由 fyimail 于 2008-10-15 15:22 发表
谢谢你。
我按照方法1做了,可是编译时候一个语句出错,
LPCWSTR strFilename2 = L"E:\\app\\receiveEmail\\*.*";
HANDLE hd = FindFirstFile((LPCWSTR)strFilename2,&wfd);
Error        1        error C2664: 'FindFir ...


LPCWSTR
这里你用了宽字节 显然冲突啊
作者: 5毛党党员    时间: 2008-10-15 15:40
用wprintf 打印试试
作者: fyimail    时间: 2008-10-15 16:37
我这方面的东西非常缺乏,不知道该怎么用,我应该看些什么资料,或者帮我详细解释一下。
作者: fyimail    时间: 2008-10-15 16:38
我不会用wprintf
作者: blizzard213    时间: 2008-10-15 16:40
原帖由 fyimail 于 2008-10-15 16:38 发表
我不会用wprintf

MSDN it!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2