C++中的vwprintf()函数用于将格式化的宽字符串写入stdout。它将格式化的数据从变量参数列表打印到stdout。在内部,该函数从arg标识的列表中检索参数,就好像在其上使用了va_arg一样,因此arg的状态可能会被调用更改。宽字符串格式可能包含以%开头的格式说明符,这些说明符由作为列表vlist传递的变量的值替换。它在头文件语法中定义:
int vwprintf( const wchar_t* format, va_list vlist )
参数:该函数接受四个强制性参数,如下所述:
- format:指定一个指向以空终止的宽字符串的指针,该字符串被写入stdout
- arg:指定一个值,该值标识用va_start初始化的变量参数列表
返回值:该函数返回两个值,如下所示:
- 成功后,将返回写入的字符总数。
- 如果发生某些错误,则返回负数。
以下示例程序旨在说明上述函数:
程序1:
// C++ program to illustrate the
// vwprintf() function
// for some english letter
#include <bits/stdc++.h>
using namespace std;
// function to print formatted
// data from variable argument list to stdout
void write(const wchar_t* format, ...)
{
// hold the variable argument
va_list arg;
// A function that invokes va_start
// shall also invoke va_end before it returns.
va_start(arg, format);
vwprintf(format, arg);
va_end(arg);
}
// Driver code
int main()
{
setlocale(LC_ALL, "en_US.UTF-8");
wchar_t buffer[5][10] = { L"First", L"Second", L"Third",
L"Fourth", L"Fifth" };
int k = 0;
// print letters by calling write function
wprintf(L"Some English Letters\n");
for (wchar_t i = L'A'; i <= L'E'; i++) {
write(L"%ls:%lc\n", buffer[k], i);
k++;
}
return 0;
}
输出:
Some English Letters First:A Second:B Third:C Fourth:D Fifth:E
// C++ program to illustrate the
// vwprintf() function
// for some Latin letters
#include <bits/stdc++.h>
using namespace std;
// function to print formatted
// data from variable argument list to stdout
void write(const wchar_t* format, ...)
{
// hold the variable argument
va_list arg;
// A function that invokes va_start
// shall also invoke va_end before it returns.
va_start(arg, format);
vwprintf(format, arg);
va_end(arg);
}
// Driver code
int main()
{
setlocale(LC_ALL, "en_US.UTF-8");
wchar_t buffer[5][10] = { L"First", L"Second", L"Third",
L"Fourth", L"Fifth" };
int k = 0;
// print letters by calling write function
wprintf(L"Some Latin Letters\n");
for (wchar_t i = L'\u0021'; i <= L'\u0025'; i++) {
write(L"%ls:%lc\n", buffer[k], i);
k++;
}
return 0;
}
输出:
Some Latin Letters First:! Second:" Third:# Fourth:$ Fifth:%
相关用法
- C++ log()用法及代码示例
- C++ div()用法及代码示例
- C++ fma()用法及代码示例
- C++ valarray pow()用法及代码示例
- C++ wcsncpy()用法及代码示例
- C++ valarray end()用法及代码示例
- C++ map key_comp()用法及代码示例
- C++ valarray abs()用法及代码示例
- C语言 strlwr()用法及代码示例
- C++ wcsstr()用法及代码示例
注:本文由纯净天空筛选整理自AmanSrivastava1大神的英文原创作品 vwprintf() function in C/C++。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。