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++。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。