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

C/C++中如果实现中文字符翻转?该如何解决

2012-04-13 
C/C++中如果实现中文字符翻转?如 字串“i love 你”输出 你 evol i百度了一下也没找到什么[解决办法]0x80

C/C++中如果实现中文字符翻转?
如 字串“i love 你”
输出 "你 evol i"


百度了一下也没找到什么

[解决办法]
>0x80 不同编码具有通用型么 会不会还有其他单字节字符
[解决办法]
宽字符数组+reverse()
[解决办法]

C/C++ code
#include <iostream>#include <cwchar>using namespace std;int main(){    setlocale(LC_ALL,"");    wchar_t buffer[]=L"i   love      你",word[10];    wchar_t *wPtr=buffer;    while(*wPtr==L' ')    {        wprintf(L" ");        ++wPtr;    }    while(swscanf(wPtr,L"%s",word)!=EOF)    {        for(wchar_t *p=word+wcslen(word)-1;p>=word;--p)        {            wprintf(L"%c",*p);        }        wPtr+=wcslen(word);        while(*wPtr==L' ')        {            wprintf(L" ");            ++wPtr;        }    }    wprintf(L"\n");    return 0;}
[解决办法]
用个宽字符的数组保存 然后倒叙输出就好了

热点排行