首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

观察的越细,有关问题就越多,求教%s和%S的区别以及对char*字符串内容的识别

2012-03-07 
观察的越细,问题就越多,求教%s和%S的区别以及对char*字符串内容的识别;问题比较多,一个一个来1:经常都用sp

观察的越细,问题就越多,求教%s和%S的区别以及对char*字符串内容的识别;
问题比较多,一个一个来
1   :经常都用sprintf,sscanf来处理字符串,今天遇到了把wchar*转换为char*的小问题,随后发现还有     wsprintfA/W、swprintf、swscanf,但是却没有找到wsscanf,感觉有点意外,因为不明确这几个函数在功能上除wchar和char以外的区别,请大家帮忙解释下。
2:今天写了这么个例子来做实验:
WCHAR   ww[]   =   L "我是一个中国人 ";
char   cc[32]   =   {0};
wsprintf(cc, "%S ",ww);//%S   and   %s
MessageBox(cc);       // "我是一个中国人 "
wsprintf(cc, "%s ",ww);
MessageBox(cc);       // ".b/f "
结果写在上面了,同样都是char*,为什么一个按双字节读取,另一个却读ASC码呢。我突然才发现一个这么基本的问题我还没有搞清楚,char*里的字符串究竟按什么方法来读取是由编译器决定还是CPU在分析?百思不解、一头雾水,希望大哥们能详细点帮我解释一下或者提供点资料给我。。。


[解决办法]
s是将char转换为wchar_t,S是将wchar_t转换为char,所以LZ的情况应该使用S.

热点排行