BCB swprintf 不工作

BCB swprintf not working

还有其他人遇到过这样的问题吗?

swprintf_s(v, len, L"%ws", var);
MessageBox(NULL, v, NULL' NULL);

消息框打印出“%ws”而不是 var 的内容。

谢谢。

C++Builder 不支持 Visual Studio 支持的所有大小前缀(反之亦然)。在这种情况下,C++Builder 不支持 %sw 前缀,但 Visual Studio 支持。

Visual Studio:

Format Specification Syntax: printf and wprintf Functions

A format specification, which consists of optional and required fields, has the following form:

%[flags] [width] [.precision] [{h | l | ll | w | I | I32 | I64}] type

C++Builder:

printf Format Specifiers

Print format specifiers have the following form:

% [flags] [width] [.prec] [F|N|h|l|L] type_char

如果var是一个宽字符串,你可以在两个编译器中使用%s%ls