C ทำงานห้องสมุด - setlocale ()
C ห้องสมุดมาตรฐาน - <locale.h>
ลักษณะ
C ทำงานห้องสมุดchar * setlocale (หมวดหมู่ int, const char * สถาน) การตั้งค่าหรืออ่านข้อมูลท้องถิ่น
คำแถลง
ต่อไปนี้เป็นฟังก์ชั่นคำสั่ง setlocale ()
char *setlocale(int category, const char *locale)
พารามิเตอร์
- หมวดหมู่ - นี้เป็นค่าคงที่ระบุชื่อหมวดหมู่ของฟังก์ชั่นที่ส่งผลกระทบต่อสถานที่
- LC_ALL รวมถึงตัวเลือกทั้งหมดที่อยู่ด้านล่าง
- เปรียบเทียบสตริงLC_COLLATEดู strcoll ()
- การจัดหมวดหมู่ตัวอักษรLC_CTYPE และการแปลงยกตัวอย่างเช่น strtoupper ()
- รูปแบบสกุลเงินLC_MONETARY สำหรับ localeconv ()
- LC_NUMERIC คั่นทศนิยม localeconv ()
- วันLC_TIME และรูปแบบเวลาสำหรับ strftime ()
- ตอบสนองของระบบLC_MESSAGES
- สถานที่เกิดเหตุ - หากสถานที่เกิดเหตุเป็นโมฆะหรือสตริงที่ว่างเปล่า "" โซนจะถูกตั้งตามชื่อของสภาพแวดล้อมค่าตัวแปรซึ่งเป็นชื่อของประเภทข้างต้นชื่อเดียวกัน
ราคาย้อนกลับ
หากประสบความสำเร็จในการโทร setlocale () ก็จะส่งกลับสถานที่เกิดเหตุที่สอดคล้องกันสตริงสีขาวขุ่น หากคำขอไม่ถูกต้องส่งคืนค่าเป็นโมฆะ
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงให้เห็นถึง setlocale () ฟังก์ชันถูกนำมาใช้
#include <locale.h> #include <stdio.h> #include <time.h> int main () { time_t currtime; struct tm *timer; char buffer[80]; time( &currtime ); timer = localtime( &currtime ); printf("Locale is: %s\n", setlocale(LC_ALL, "en_GB")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); printf("Locale is: %s\n", setlocale(LC_ALL, "de_DE")); strftime(buffer,80,"%c", timer ); printf("Date is: %s\n", buffer); return(0); }
Let 's รวบรวมและเรียกใช้โปรแกรมข้างต้นซึ่งจะส่งผลต่อไปนี้:
Locale is: en_GB Date is: Thu 23 Aug 2012 06:39:32 MST Locale is: de_DE Date is: Do 23 Aug 2012 06:39:32 MST