免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5076 | 回复: 13
打印 上一主题 下一主题

在C环境下,如果将WIN32_FIND_DATA数据输出到屏幕上? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-15 11:25 |只看该作者 |倒序浏览
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类型的要如何输出啊?

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
2 [报告]
发表于 2008-10-15 11:27 |只看该作者
TCHAR具体对应标准类型的那一种呢,应该是字符吧

[ 本帖最后由 Godbach 于 2008-10-15 11:28 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2008-10-15 11:30 |只看该作者

回复 #2 Godbach 的帖子

TCHAR对应char

论坛徽章:
0
4 [报告]
发表于 2008-10-15 11:30 |只看该作者
是啊,我用printf(“%s”,wfd.cFilename);, 结果只输出了这个字符串的文件名的第一个字母。

论坛徽章:
0
5 [报告]
发表于 2008-10-15 11:41 |只看该作者
编译的时候把宏_UNICODE去掉,然后就可以用printf输出了

论坛徽章:
0
6 [报告]
发表于 2008-10-15 13:26 |只看该作者
原帖由 alexhappy 于 2008-10-15 11:30 发表
TCHAR对应char

你这个回答不准确
在未定义UNICODE宏时才是char否则是wchar

论坛徽章:
0
7 [报告]
发表于 2008-10-15 14:39 |只看该作者
在编译时候如何把宏_UNICODE去掉?

论坛徽章:
0
8 [报告]
发表于 2008-10-15 14:50 |只看该作者
原帖由 fyimail 于 2008-10-15 14:39 发表
在编译时候如何把宏_UNICODE去掉?

方法1.工程选项里把unicode改为多字节
方法2.工程选项里把编译器选项的precompile中的_UNICODE去掉
方法3.在源文件里:
#ifdef xxx
#undef xxx
#endif

论坛徽章:
0
9 [报告]
发表于 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

论坛徽章:
0
10 [报告]
发表于 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
这里你用了宽字节 显然冲突啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP