當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C語言 wprintf用法及代碼示例


C語言wchar頭文件(wchar.h)中wprintf函數的用法及代碼示例。

用法:

int wprintf (const wchar_t* format, ...);
將格式化的數據打印到標準輸出
寫入由C指向的C寬字符串格式到標準輸出(stdout),替換任何格式說明符在相同的方式printf做。

寬字符的外部表示stdout是多字節字符:這些字符的獲取方式就像wcrtomb被稱為轉換每個寬字符(使用的內部mbstate_t目的)。

這是寬字符等價於printf(<cstdio>)。

參數

format
包含格式字符串的C寬字符串,其格式與格式printf(參考printf有關詳細信息)。
請注意,所有格式說明符的含義均與中的相同。printf;所以,%lc應該用來寫寬字符(而不是%c), 也%ls應該用於寬字符串(而不是%s)。
... (additional arguments)
取決於格式字符串,函數可能需要一係列附加參數,每個參數都包含一個用於替換a的值格式說明符在裏麵格式字符串(或指向存儲位置的指針,用於n)。
這些參數至少應與格式說明符。該函數將忽略其他參數。

返回值

成功後,將返回寫入的字符總數。

如果發生寫入錯誤,則錯誤指示(ferror)設置,並返回負數。

如果在寫入寬字符時發生多字節字符編碼錯誤,errno被設定為EILSEQ並返回負數。

示例

/* wprintf example */
#include <wchar.h>

int main()
{
   wprintf (L"Characters: %lc %lc \n", L'a', 65);
   wprintf (L"Decimals: %d %ld\n", 1977, 650000L);
   wprintf (L"Preceding with blanks: %10d \n", 1977);
   wprintf (L"Preceding with zeros: %010d \n", 1977);
   wprintf (L"Some different radixes: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
   wprintf (L"floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
   wprintf (L"Width trick: %*d \n", 5, 10);
   wprintf (L"%ls \n", L"A wide string");
   return 0;
}


輸出:

Characters: a A
Decimals: 1977 650000
Preceding with blanks:       1977
Preceding with zeros: 0000001977
Some different radixes: 100 64 144 0x64 0144
floats: 3.14 +3e+000 3.141600E+000
Width trick:    10
A wide string

相關用法


注:本文由純淨天空篩選整理自C標準庫大神的英文原創作品 C wprintf function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。