📜  C++ swprintf()

📅  最后修改于: 2020-09-25 09:39:29             🧑  作者: Mango

C++中的swprintf() 函数用于将格式化的宽字符串写入宽字符串缓冲区。

swprintf() 函数在头文件中定义。

swprintf()原型

int swprintf( wchar_t* buffer, size_t size, const wchar_t* format, ... );

swprintf() 函数将格式指向的宽字符串写入缓冲区。可以写入的最大字符数为(size-1)。

字符被写入后,终止空宽字符被添加。

宽字符串格式可能包含以%开头的格式说明符,这些说明符由作为附加参数传递给swprintf() 函数的变量的值替换。

swprintf()参数

swprintf()返回值

示例:swprintf() 函数如何工作?

#include 
#include 
#include 
#include 
using namespace std;

int main()
{
    wchar_t hebrew_str[] = L"\u05D0 \u05D1 \u05E1 \u05D3 \u05EA";
    wchar_t buffer[100];

    setlocale(LC_ALL, "en_US.UTF-8");
    swprintf(buffer, sizeof(hebrew_str), L"%ls", hebrew_str);

    wcout << L"Some hebrew letters\n" << buffer << endl;
    return 0;
}

运行该程序时,会将以下内容写入example.txt:

Some hebrew letters
א ב ס ד ת