jjzjj

vswprintf

全部标签

c++ - 如何在 OSX 上通过 vswprintf 格式化宽字符字符串(想要返回 std::wstring)

我需要实现一个函数来格式化宽字符字符串并返回std::wstring。我的实现是:std::wstringformat(constwchar_t*fmt,...){std::wstringret;va_listva;va_start(va,fmt);intsize=vswprintf(nullptr,0,fmt,va);if(size>0){ret.resize(size+1);vswprintf(&ret[0],size+1,fmt,va);}va_end(va);returnret;}它在windows上运行良好,但不幸的是它在osx上不起作用,因为vswprintf(nullpt

c++ - swprintf 和 vswprintf 未声明?

我正在尝试使用MinGW在Windows上编译Botan,但在编译期间收到以下错误:c:\qt\2010.04\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:159:error:'::swprintf'hasnotbeendeclaredc:\qt\2010.04\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/cwchar:166:error:'::vswprintf'hasnotbeendeclared为什么没有声明swprintf和vswprintf,我该如何解决这个问题?

c++ - 如何在 Linux gcc 下确定 vswprintf 的缓冲区大小

我需要为格式函数vswprintf()分配足够的缓冲区。当用ANSI字符串做同样的事情时,我使用:vsnprintf(NULL,NULL,pszFormat,args);它返回我所需的缓冲区大小。但是好像这个函数的unicode版本没有这个功能。当我执行时:vswprintf(NULL,NULL,pszFormat,args);结果值总是-1。我找到的唯一解决方案是使用大型静态缓冲区来计算所需的大小。但我不喜欢这个解决方案:staticconstintnBuffSize=1024;staticXCHARevalBuff[nBuffSize];intnSize=vswprintf(eva

c++ - Qt Creator编译错误 "::swprintf and::vswprintf has not been declared"

到目前为止,我已经在visualstudio中编写了所有代码,现在我需要向其中添加一些UI,因此我将使用Qt。所以我在我的项目中添加了每个文件(主类除外),然后尝试使用Qt编译它。因为我使用了一些c++0x特性,所以我不得不将这一行添加到项目文件中:QMAKE_CXXFLAGS+=-std=c++0x然后我尝试编译它。只有两个错误(可能还有更多,但编译器在这两个上停止)Infileincludedfromd:\qt\mingw\bin\../lib/gcc/mingw32/4.4.0/include/c++/bits/postypes.h:42,fromd:\qt\mingw\bin\