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

wstring自定义printf有关问题

2012-11-03 
wstring自定义printf问题下面是一个宽字节的格式化输出函数,要在gcc下用,有两个函数是vc下的,我找了一下资

wstring自定义printf问题
下面是一个宽字节的格式化输出函数,要在gcc下用,有两个函数是vc
 下的,我找了一下资料还是不会,请大家帮忙看看,谢谢!
 

C/C++ code
wstring myprintf(const wchar_t* format, ...)  { std::wstring mWBuffer; va_list ArgPtr; va_start(ArgPtr, format); std::size_t Length = _vscwprintf(format, ArgPtr) + 1;//gcc没有 mWBuffer.resize(Length); vswprintf_s(&mWBuffer[0], Length, format,ArgPtr);//gcc没有 va_end(ArgPtr); return mWBuffer;  }

 

[解决办法]
bsd的源文件,gcc也差不多:
http://www.oschina.net/code/explore/freebsd/include/wchar.h
里面有vswprintf功能相同可以使用

vswprintf_s是微软的安全函数就是vswprintf加了安全检查,不符合强行报错,可以用vswprintf替代
[解决办法]
_wsetlocale(LC_ALL,L"chs");//能在控制台输出unicode中文

wprintf(L"name=%s,score=%d \n",name,score);

你在gcc中测试下能用否?

热点排行