跳轉到內容

C 程式設計/stdio.h/wprintf

來自華夏公益教科書,開放的書籍,開放的世界

wprintf是 C 標準庫函式,定義在 wchar.h 中。它的函式簽名為

int wprintf(const wchar t *format,...);

wprintf() 將輸出寫入 stdout,即標準輸出流。它使用可變引數列表。此函式以及 vprintf、vfprintf、vsprintf、vsnprintf 和 vasprintf 等函式,為程式設計師提供了建立自己的 printf 變體的能力。

wprintf 函式存在於 C 中,它根據格式字串將輸出寫入流。格式字串指定後續引數如何轉換以進行輸出。

wprintf 是 printf 格式的寬字元版本。格式是一個寬字元字串,其中 wprintf 和 printf 在 ANSI 模式下以類似的方式工作。

以下是用於理解 wprintf 工作原理的示例程式碼。

程式碼

#include<stdio.h>
#include<wchar.h>
int main(int argc,char *argv[])
{
      wchar_t *str = L"@TAJMAHAL@#$$$";
      wprintf(L"%ls\n", str);
      return EXIT_SUCCESS;
}

執行程式碼後,輸出將如下所示

@TAJMAHAL@#$$$

侷限性

[編輯 | 編輯原始碼]

侷限性
1. wprintf() 不是可移植函式。
2. wprintf() 不能與 printf() 混用。
3. wprintf 不能列印雙精度值。

  for eg. 2^56 is the double value which cannot be printed using wprintf().
華夏公益教科書