C库中的wprintf()和wscanf

在这里,我们将看到C中的wprintf()和wscanf()函数。这些是宽字符的printf()和scanf()函数。这些功能存在于wchar.h中

wprintf()函数用于将宽字符打印到标准输出。宽字符串格式可能包含以%符号开头的格式说明符,这些说明符由传递给wprintf()的变量值代替。

语法如下-

int wprintf (const wchar_t* format, ...);

此功能采用格式。此格式是指向以null终止的宽字符串的指针,该字符串将写入控制台。它将包含宽字符和以%开头的某些格式说明符。然后(…)指示其他参数。这些是将要打印的数据,它们根据格式说明符按顺序出现。

此函数返回打印的字符数。失败时,这可能会返回负值。

示例

#include <stdio.h>
#include <wchar.h>
main() {
   wint_t my_int = 10;
   wchar_t string[] = L"Hello World";
   wprintf(L"The my_int is: %d \n", my_int);
   wprintf(L"The string is: %ls \n", string);
}

输出结果

The my_int is: 10
The string is: Hello World

wscanf()函数用于从控制台获取数据,并将其存储到适当的变量中。附加参数应指向格式字符串内由其相应格式说明符指定的类型的已分配对象。

示例

#include <stdio.h>
#include <wchar.h>
main() {
   wint_t my_int = 10;
   wprintf(L"Enter a number: ");
   wscanf(L"%d", &my_int);
   wprintf(L"The given integer is: %d \n", my_int);
}

输出结果

Enter a number: 40
The given integer is: 40