跳转到内容

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