跳转到内容

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().
华夏公益教科书