jjzjj

swprintf

全部标签

c++ - 了解将使用哪个 swprintf(或者再次将 char* 字符串转换为 wchar_t*)

我正在尝试将char*字符串转换为wchar_t*。我看到这个问题已经被问了很多次,但没有解决/可移植的答案/解决方案。按照建议here,swprintf对我来说似乎是正确的解决方案,但我发现那里存在两个版本!!即:http://www.cplusplus.com/reference/cwchar/swprintf/(第二个参数是字符串容量)http://msdn.microsoft.com/en-us/library/ybk95axf%28v=vs.71%29.aspx(第二个参数已经是格式字符串)我的程序看起来像这样:constunsignedintLOCAL_SIZE=256;c

c++ - 在 C++Builder 中使用 swprintf 打印窄字符串

以下几行都“按预期工作”:wchar_tu[50],v[50];swprintf(u,50,L"%s",L"hello");swprintf(v,50,L"%ls",L"goodbye");MessageBoxW(NULL,u,v,MB_OK);//output:MessageBoxshowing"hello"and"goodbye"有什么方法可以打印一个窄字符串,这方面的文档在哪里?例如swprintf(u,50,L"%?","hello");C++标准规定(引用C标准)在wprintf函数族中,%s规定了char的字符串>(多字节编码,如UTF-8),%ls指定wchar_t的字符

c - 是否有来自低级库(如 kernel32.dll 或 ntdll.dll)的 wsprintf() 类型函数?

我正在编写一个低级记录器函数,它将文本字符串附加到文本(日志)文件的末尾。要求是此函数不应调用来自DLL的任何WinAPI,这些DLL可能尚不可用于该进程——例如当它从DllMain调用时处理程序。换句话说,它不能使用除了保证加载到任何用户模式进程中的库之外的任何库,即kernel32.dll或ntdll.dll.我可以通过CreateFile、WriteFile、CloseHandle、HeapAlloc、HeapFree等均来自kernel32.dll。问题在于格式化输出字符串。例如,我需要添加一些额外的(自动生成的)详细信息,例如当前时间、进程ID、sessionID等。我通常会

c++ - 带有窄字符串的 swprintf()

以下代码行在VisualStudio2010中产生垃圾:swprintf(buf,L"Valueis%s","abcd");但是,相同的代码在Linux上运行良好。通过试用,我可以在VisualStudio下使用%S而不是%s来使其工作。swprintf(buf,L"Valueis%S","abcd");我想知道这是VisualStudio2010中的错误还是我遗漏了什么。问候。 最佳答案 这是一个“错误”,尽管该行为是设计使然。宽字符串printf和scanf函数的初始VisualC++实现早于它们在C中的标准化,并且在某些情况下

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++ - 传递与 `swprintf` %s"` 说明符匹配的 `char const*` 时 `L"的行为

我正在编写一个Excel插件,需要生成wchar_tExcel的输出(尽管在内部,我们是100%char,并且实际上将char限制为纯ASCII)。有一次,我正在使用swprintf进行转换:staticwchar_tbuffer[32369];buffer[0]=swprintf(buffer+1,sizeof(buffer)-1,L"#%s!",message);Excel显示某种CJK字符,尽管message(typecharconst*)是一个以null结尾的字符串没有可打印ASCII之外的字符(十六进制值0x20-0x7E)。我已经在一个小测试程序中尝试过,以十六进制转储生成

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\