Computer >> Máy Tính >  >> Lập trình >> lập trình C

wprintf () và wscanf trong Thư viện C

Ở đây chúng ta sẽ thấy các hàm wprintf () và wscanf () trong C. Đây là các hàm printf () và scanf () cho các ký tự rộng. Các chức năng này có trong wchar.h

Hàm wprintf () được sử dụng để in ký tự rộng ra đầu ra tiêu chuẩn. Định dạng chuỗi rộng có thể chứa các mã định dạng bắt đầu bằng dấu%, chúng được thay thế bằng các giá trị của các biến được chuyển đến wprintf ().

Cú pháp như sau -

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

Hàm này có định dạng. Định dạng này là một con trỏ đến một chuỗi rộng kết thúc bằng rỗng, sẽ được ghi trong bảng điều khiển. Nó sẽ chứa các ký tự rộng và một số định dạng bắt đầu bằng%. Sau đó, (…) chỉ ra các đối số bổ sung. Đây là những dữ liệu sẽ được in ra, chúng diễn ra theo trình tự tùy theo các chỉ định định dạng.

Hàm này trả về số lượng ký tự được in. Nếu không thành công, điều này có thể trả về giá trị âm.

Ví dụ

#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);
}

Đầu ra

The my_int is: 10
The string is: Hello World

Hàm wscanf () được sử dụng để lấy dữ liệu từ bảng điều khiển và lưu trữ chúng vào biến thích hợp. Các đối số bổ sung phải trỏ đến các đối tượng đã được cấp phát thuộc loại được chỉ định bởi trình chỉ định định dạng tương ứng của chúng bên trong chuỗi định dạng.

Ví dụ

#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);
}

Đầu ra

Enter a number: 40
The given integer is: 40