Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

wprintf() และ wscanf ใน C Library


ที่นี่เราจะเห็นฟังก์ชัน wprintf() และ wscanf() ใน C ซึ่งเป็นฟังก์ชัน printf() และ scanf() สำหรับอักขระแบบกว้าง ฟังก์ชันเหล่านี้มีอยู่ใน wchar.h

ฟังก์ชัน wprintf() ใช้สำหรับพิมพ์อักขระแบบกว้างไปยังเอาต์พุตมาตรฐาน รูปแบบสตริงกว้างอาจมีตัวระบุรูปแบบซึ่งเริ่มต้นด้วยเครื่องหมาย % ซึ่งจะถูกแทนที่ด้วยค่าของตัวแปรที่ส่งผ่านไปยัง wprintf()

ไวยากรณ์เป็นเหมือนด้านล่าง -

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

ฟังก์ชันนี้ใช้รูปแบบ รูปแบบนี้เป็นตัวชี้ไปยังสตริงกว้างที่สิ้นสุดด้วยค่า null ซึ่งจะถูกเขียนในคอนโซล จะมีอักขระกว้างและตัวระบุรูปแบบบางตัวที่ขึ้นต้นด้วย % จากนั้น (…) จะแสดงอาร์กิวเมนต์เพิ่มเติม ข้อมูลเหล่านี้จะถูกพิมพ์ออกมาตามลำดับตามตัวระบุรูปแบบ

ฟังก์ชันนี้จะคืนค่าจำนวนอักขระที่พิมพ์ออกมา หากล้มเหลว อาจคืนค่าติดลบ

ตัวอย่าง

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

ผลลัพธ์

The my_int is: 10
The string is: Hello World

ฟังก์ชัน wscanf() ใช้เพื่อดึงข้อมูลจากคอนโซลและจัดเก็บไว้ในตัวแปรที่เหมาะสม อาร์กิวเมนต์เพิ่มเติมควรชี้ไปที่อ็อบเจ็กต์ประเภทที่จัดสรรไว้แล้วซึ่งระบุโดยตัวระบุรูปแบบที่สอดคล้องกันภายในสตริงรูปแบบ

ตัวอย่าง

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

ผลลัพธ์

Enter a number: 40
The given integer is: 40