La función vwprintf() en C++ se usa para escribir una string ancha formateada en la salida estándar . Imprime datos formateados desde la lista de argumentos variables a stdout. Internamente, la función recupera argumentos de la lista identificada por arg como si se hubiera usado va_arg en ella y, por lo tanto, es probable que la llamada altere el estado de arg . El formato de string ancha puede contener especificadores de formato que comienzan con % que se reemplazan por los valores de las variables que se pasan como una lista vlist .
Se define en el archivo de cabecera <cwchar.h>
Sintaxis:
int vwprintf( const wchar_t* format, va_list vlist )
Parámetro: La función acepta cuatro parámetros obligatorios que se describen a continuación:
- formato: especifica un puntero a una string ancha terminada en nulo que se escribe en stdout
- arg: especifica un valor que identifica una lista de argumentos variables inicializada con va_start
Valor devuelto: la función devuelve dos valores como se muestra a continuación:
- En caso de éxito, se devuelve el número total de caracteres escritos.
- Se devuelve un número negativo si se produce algún error.
Los siguientes programas ilustran la función anterior:
Programa 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 : %
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA