博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CHAR、TCHAR、WCHAR_T之间的区别与问题
阅读量:7056 次
发布时间:2019-06-28

本文共 622 字,大约阅读时间需要 2 分钟。

今天在使用LibXIStream 对视频采集卡进行开发时遇到了给的sample中的程序没问题,而自己写的却无论如何都会失败,打不开相应的采集卡。具体问题时出在这样一个数据结构上的:

typedef struct _VIDEO_CAPTURE_INFO {

XI_ADAPTER_MODEL adapterModel;
XI_DEVICE_TYPE deviceType;
TCHAR szName[_MAX_VIDEO_CAPTURE_NAME];
TCHAR szDShowID[_MAX_VIDEO_CAPTURE_DSHOW_ID];
} VIDEO_CAPTURE_INFO;

其中的两个字符串数组szName与szDShowID要么为空,要么为正确赋值成功,导致之后的功能无法正常运行。在纠结了一段时间后,终于把问题集中到了TCHAR上,然后我分别在sample的例子中和我自己写的程序中找到了对TCHAR的定义:

#ifdef   UNICODE     

  typedef   wchar_t   TCHAR;     
#else     
  typedef   unsigned   char   TCHAR;     
#endif    

然后发现了问题就是出在编码方式上,两个程序一个使用的UNICODE编码,而另一个不是,所以才导致了同样的代码,一个能正确执行,另一个却不行的情况。

转载于:https://www.cnblogs.com/Bismarck/p/6123167.html

你可能感兴趣的文章
理解cookie和session
查看>>
我的友情链接
查看>>
linux 5,6,9,12单元练习
查看>>
kill命令
查看>>
错题集06
查看>>
磁盘配额限制
查看>>
shell的bash特性
查看>>
HTML中的超链接
查看>>
什么是进程与线程
查看>>
nodeJS之URL
查看>>
网络配置
查看>>
使用Laya引擎开发微信小游戏(上)
查看>>
mycat 集群
查看>>
Android ANR产生原因和解决办法
查看>>
构建LNMP平台
查看>>
iphone开发 NSURL中fileURLWithPath和URLWithString的区别
查看>>
求网站技术解决 话题敏感求私聊
查看>>
4G工业路由器要点介绍
查看>>
jmeter4.0 统计结果次数 BeanShell Sampler,Debug Sampler
查看>>
C和指针学习ing 课后习题练习ing
查看>>