swprintf

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, ...);

程式示例

由於sprintf只能輸出字元,字元串和整型數據,要輸出任意類型應該用swprintf 。
// 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,就只能使用宏替換或自己實現。

相關詞條

熱門詞條

聯絡我們