La función vfwscanf() en C++ se usa para leer datos formateados de una string ancha en una lista de argumentos variables. También lee strings de caracteres anchas de un búfer de strings anchas. Esta función lee datos de ws y los almacena según el formato en las ubicaciones señaladas por los elementos en la lista de argumentos variables identificada por arg .
se define enarchivo de biblioteca.
Sintaxis:
int vswscanf( const wchar_t* ws, const wchar_t* format, va_list arg )
Parámetros: la función acepta tres parámetros obligatorios que se describen a continuación:
- ws: Puntero a la string ancha terminada en nulo para leer los datos
- format : Puntero a una string de caracteres anchos terminada en nulo que especifica cómo leer la entrada
- arg: un valor que identifica una lista de argumentos variables inicializada con va_start.
Valor de retorno: la función devuelve dos valores como se muestra a continuación:
- en caso de éxito, devuelve el número de argumentos leídos con éxito.
- en caso de falla, se devuelve EOF
Los siguientes programas ilustran la función anterior:
Programa 1:
// C++ program to illustrate the // vswscanf() function #include <bits/stdc++.h> using namespace std; // ws : pointer to the wide string // format : to read the input void wideMatch(const wchar_t* ws, const wchar_t* format, ...) { va_list arg; // A function that invokes va_start // shall also invoke va_end before it returns. va_start(arg, format); // vswscanf() reads formatted data from wide // string into variable argument list vswscanf(ws, format, arg); va_end(arg); } // Driver code int main() { setlocale(LC_ALL, "en_US.UTF-8"); // initialize the buffer wchar_t wideS[] = L"GFG"; wchar_t string[20]; wideMatch(wideS, L"%ls", string); wprintf(L"Random Symbols are :\n"); // print all the symbols for (int i = 0; i < wcslen(string); i++) { putwchar(string[i]); putwchar(' '); } return 0; }
Random Symbols are : G F G
Programa 2:
// C++ program to illustrate the // vswscanf() function #include <bits/stdc++.h> using namespace std; void WideString(const wchar_t* ws, const wchar_t* format, ...) { va_list arg; // A function that invokes va_start // shall also invoke va_end before it returns. va_start(arg, format); // vswscanf() reads formatted data from wide // string into variable argument list vswscanf(ws, format, arg); va_end(arg); } // Driver code int main() { int value; // initialize the buffer wchar_t wideS[] = L"100 websites of GeekforGeeks"; WideString(wideS, L" %d %ls ", &value, wideS); // print all the symbols wprintf(L"Best: %ls\nQuantity: %d\n", wideS, value); return 0; }
Best: websites Quantity: 100
Publicación traducida automáticamente
Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA