swprintf是一個函式,功能為把格式化的數據寫到一個流中。
基本介紹
- 外文名:swprintf
- 函式功能:把格式化的數據寫到一個流中
- 類型:程式
- 領域:計算機
函式簡介,程式示例,注意事項,
函式簡介
該函式原型有兩個:
ISO標準函式原型
#include <wchar.h>int swprintf(wchar_t *buffer, size_t count, const wchar_t *format, ...);
Windows函式原型
#include <wchar.h>int swprintf(wchar_t *buffer, const wchar_t *format, ...);
程式示例
// crt_swprintf.c
// wide character example
// also demonstrates swprintf returning error code
#include <stdio.h>
int main( void )
{
wchar_t buf[100];
int len = swprintf( buf, L"%s", L"Hello world" );
printf( "wrote %d characters\n", len );
len = swprintf( buf, L"%s", L"Hello\xffff world" );
// swprintf fails because string contains WEOF (\xffff)
printf( "wrote %d characters\n", len );
}
注意事項
因為歷史原因,使得 sprintf 和 swprintf 的參數格式不盡一致,所以,如果使用 _stprintf 時實現 ANSI 和 Unicode 雙版本編程時,當指定使用 C99 以上標準編譯 Unicode 版本時,通常會警告 swprintf 出錯,此時可更換使用 snwprintf 代替(注意參數也要調整),即使用 _sntprintf 代替 _stprintf 實現功能。如果代碼中已包含大量的 _stprintf 或 swprintf,就只能使用宏替換或自己實現。