C Standard Library - คู่มือฉบับย่อ
assert.h ไฟล์ส่วนหัวของ C Standard Library มีมาโครที่เรียกว่า assert ซึ่งสามารถใช้เพื่อตรวจสอบสมมติฐานที่โปรแกรมสร้างขึ้นและพิมพ์ข้อความวินิจฉัยหากข้อสันนิษฐานนี้เป็นเท็จ
มาโครที่กำหนด assert หมายถึงมาโครอื่น NDEBUGซึ่งไม่ใช่ส่วนหนึ่งของ <assert.h> ถ้า NDEBUG ถูกกำหนดเป็นชื่อมาโครในไฟล์ต้นทาง ณ จุดที่รวม <assert.h>assert มาโครถูกกำหนดไว้ดังนี้ -
#define assert(ignore) ((void)0)
แมโครไลบรารี
ต่อไปนี้เป็นฟังก์ชันเดียวที่กำหนดในการยืนยันส่วนหัว h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | การยืนยันเป็นโมฆะ (นิพจน์ int) นี่เป็นมาโครไม่ใช่ฟังก์ชันซึ่งสามารถใช้เพื่อเพิ่มการวินิจฉัยในโปรแกรม C ของคุณได้ |
ctype.h ไฟล์ส่วนหัวของ C Standard Library ประกาศฟังก์ชันต่างๆที่มีประโยชน์สำหรับการทดสอบและการแมปอักขระ
ทุกฟังก์ชั่นยอมรับ int เป็นพารามิเตอร์ซึ่งค่าต้องเป็น EOF หรือแสดงเป็นถ่านที่ไม่ได้ลงนาม
ฟังก์ชันทั้งหมดจะคืนค่าไม่ใช่ศูนย์ (จริง) หากอาร์กิวเมนต์ c เป็นไปตามเงื่อนไขที่อธิบายไว้และศูนย์ (เท็จ) ถ้าไม่
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในส่วนหัว ctype.h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | int isalnum (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นตัวอักษรและตัวเลขหรือไม่ |
2 | int isalpha (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นตัวอักษรหรือไม่ |
3 | int iscntrl (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นอักขระควบคุมหรือไม่ |
4 | int isdigit (int c) ฟังก์ชันนี้ตรวจสอบว่าอักขระที่ส่งผ่านเป็นเลขฐานสิบหรือไม่ |
5 | int isgraph (int c) ฟังก์ชันนี้ตรวจสอบว่าอักขระที่ส่งผ่านมีการแสดงแบบกราฟิกโดยใช้โลแคลหรือไม่ |
6 | int islower (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นอักษรตัวพิมพ์เล็กหรือไม่ |
7 | int isprint (int c) ฟังก์ชันนี้ตรวจสอบว่าสามารถพิมพ์อักขระที่ส่งผ่านได้หรือไม่ |
8 | int ispunct (int c) ฟังก์ชันนี้ตรวจสอบว่าอักขระที่ส่งผ่านเป็นอักขระเครื่องหมายวรรคตอนหรือไม่ |
9 | int isspace (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นช่องว่างหรือไม่ |
10 | int isupper (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นอักษรตัวพิมพ์ใหญ่หรือไม่ |
11 | int isxdigit (int c) ฟังก์ชันนี้จะตรวจสอบว่าอักขระที่ส่งผ่านเป็นเลขฐานสิบหกหรือไม่ |
ไลบรารียังมีฟังก์ชันการแปลงสองฟังก์ชันที่ยอมรับและส่งคืน "int"
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | int tolower (int c) ฟังก์ชันนี้จะแปลงอักษรตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็ก |
2 | อินเตอร์ทูปเปอร์ (int c) ฟังก์ชันนี้จะแปลงอักษรตัวพิมพ์เล็กเป็นตัวพิมพ์ใหญ่ |
คลาสตัวละคร
ซีเนียร์ | คลาสตัวละครและคำอธิบาย |
---|---|
1 | Digits นี่คือชุดของจำนวนเต็ม {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} |
2 | Hexadecimal digits นี่คือชุดของ {0 1 2 3 4 5 6 7 8 9 ABCDEF abcdef} |
3 | Lowercase letters นี่คือชุดของตัวอักษรพิมพ์เล็ก {abcdefghijklmnopqrstu vwxyz} |
4 | Uppercase letters นี่คือชุดของตัวอักษรตัวพิมพ์ใหญ่ {ABCDEFGHIJKLMNOPQRSTU VWXYZ} |
5 | Letters นี่คือชุดของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ |
6 | Alphanumeric characters นี่คือชุดของตัวเลขตัวพิมพ์เล็กและตัวอักษรตัวพิมพ์ใหญ่ |
7 | Punctuation characters นี่คือชุด! "# $% & '() * +, -. /:; <=>? @ [\] ^ _` {|} ~ |
8 | Graphical characters นี่คือชุดของอักขระที่เป็นตัวอักษรและตัวเลขคละกันและอักขระเครื่องหมายวรรคตอน |
9 | Space characters นี่คือชุดของแท็บขึ้นบรรทัดใหม่แท็บแนวตั้งฟีดแบบฟอร์มการส่งคืนแคร่และช่องว่าง |
10 | Printable characters นี่คือชุดของอักขระที่เป็นตัวเลขและตัวอักษรอักขระเครื่องหมายวรรคตอนและอักขระช่องว่าง |
11 | Control characters ใน ASCII อักขระเหล่านี้มีรหัสฐานแปด 000 ถึง 037 และ 177 (DEL) |
12 | Blank characters นี่คือช่องว่างและแท็บ |
13 | Alphabetic characters นี่คือชุดของตัวอักษรพิมพ์เล็กและตัวพิมพ์ใหญ่ |
errno.h ไฟล์ส่วนหัวของ C Standard Library กำหนดตัวแปรจำนวนเต็ม errnoซึ่งกำหนดโดยการเรียกระบบและฟังก์ชันไลบรารีบางอย่างในกรณีที่เกิดข้อผิดพลาดเพื่อระบุสิ่งที่ผิดพลาด มาโครนี้ขยายเป็น lvalue ชนิด int ที่ปรับเปลี่ยนได้ดังนั้นจึงสามารถอ่านและแก้ไขได้โดยโปรแกรม
errnoถูกตั้งค่าเป็นศูนย์เมื่อเริ่มต้นโปรแกรม ฟังก์ชันบางอย่างของไลบรารี C มาตรฐานจะแก้ไขค่าเป็นอื่นที่ไม่ใช่ศูนย์เพื่อส่งสัญญาณข้อผิดพลาดบางประเภท คุณยังสามารถแก้ไขค่าหรือรีเซ็ตเป็นศูนย์ได้ตามความสะดวกของคุณ
errno.h ไฟล์ส่วนหัวยังกำหนดรายการมาโครที่ระบุรหัสข้อผิดพลาดที่แตกต่างกันซึ่งจะขยายเป็นนิพจน์คงที่จำนวนเต็มพร้อมชนิด int.
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัว errno.h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | extern int errno นี่คือมาโครที่กำหนดโดยการเรียกระบบและฟังก์ชันไลบรารีบางอย่างในกรณีที่เกิดข้อผิดพลาดเพื่อระบุสิ่งที่ผิดพลาด |
2 | ข้อผิดพลาดโดเมน EDOM มาโครนี้แสดงถึงข้อผิดพลาดของโดเมนซึ่งเกิดขึ้นหากอาร์กิวเมนต์อินพุตอยู่นอกโดเมนซึ่งฟังก์ชันทางคณิตศาสตร์ถูกกำหนดและ errno ถูกตั้งค่าเป็น EDOM |
3 | ERANGE ข้อผิดพลาดช่วง มาโครนี้แสดงถึงข้อผิดพลาดของช่วงซึ่งเกิดขึ้นหากอาร์กิวเมนต์อินพุตอยู่นอกช่วงซึ่งฟังก์ชันทางคณิตศาสตร์ถูกกำหนดและ errno ถูกตั้งค่าเป็น ERANGE |
float.hไฟล์ส่วนหัวของ C Standard Library ประกอบด้วยชุดค่าคงที่ขึ้นอยู่กับแพลตฟอร์มต่างๆที่เกี่ยวข้องกับค่าทศนิยม ค่าคงที่เหล่านี้เสนอโดย ANSI C ซึ่งช่วยให้สามารถสร้างโปรแกรมแบบพกพาได้มากขึ้น ก่อนที่จะตรวจสอบค่าคงที่ทั้งหมดควรทำความเข้าใจว่าจำนวนทศนิยมประกอบด้วยสี่องค์ประกอบต่อไปนี้ -
ซีเนียร์ | คำอธิบายส่วนประกอบและส่วนประกอบ |
---|---|
1 | S ลงชื่อ (+/-) |
2 | b ฐานหรือรัศมีของการแทนเลขยกกำลัง 2 สำหรับเลขฐานสอง 10 สำหรับฐานสิบ 16 สำหรับเลขฐานสิบหกและอื่น ๆ ... |
3 | e เลขชี้กำลังเป็นจำนวนเต็มระหว่างค่าต่ำสุด emin และสูงสุด emax. |
4 | p ความแม่นยำจำนวนตัวเลขฐาน b ในนัยสำคัญ |
จากองค์ประกอบทั้ง 4 ด้านบนจุดลอยตัวจะมีค่าดังนี้ -
floating-point = ( S ) p x be
or
floating-point = (+/-) precision x baseexponent
แมโครไลบรารี
ค่าต่อไปนี้เป็นค่าเฉพาะการนำไปใช้งานและกำหนดด้วยคำสั่ง #define แต่ค่าเหล่านี้ต้องไม่ต่ำกว่าที่ระบุไว้ที่นี่ โปรดทราบว่าในทุกกรณี FLT หมายถึงประเภทfloat, DBL หมายถึง doubleและ LDBL อ้างถึง long double.
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | FLT_ROUNDS กำหนดโหมดการปัดเศษสำหรับการเพิ่มจุดลอยตัวและสามารถมีค่าใด ๆ ต่อไปนี้ -
|
2 | FLT_RADIX 2 สิ่งนี้กำหนดการแสดงเลขฐานของเลขชี้กำลัง ฐาน -2 เป็นเลขฐานสองฐาน 10 คือการแทนทศนิยมปกติฐาน -16 คือฐานสิบหก |
3 | FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG มาโครเหล่านี้กำหนดจำนวนหลักในตัวเลข (ในฐาน FLT_RADIX) |
4 | FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 มาโครเหล่านี้กำหนดจำนวนหลักทศนิยมจำนวนสูงสุด (ฐาน -10) ที่สามารถแสดงโดยไม่มีการเปลี่ยนแปลงหลังจากการปัดเศษ |
5 | FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP มาโครเหล่านี้กำหนดค่าจำนวนเต็มลบขั้นต่ำสำหรับเลขชี้กำลังใน FLT_RADIX พื้นฐาน |
6 | FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 มาโครเหล่านี้กำหนดค่าจำนวนเต็มลบขั้นต่ำสำหรับเลขชี้กำลังในฐาน 10 |
7 | FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP มาโครเหล่านี้กำหนดค่าจำนวนเต็มสูงสุดสำหรับเลขชี้กำลังใน FLT_RADIX พื้นฐาน |
8 | FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 มาโครเหล่านี้กำหนดค่าจำนวนเต็มสูงสุดสำหรับเลขชี้กำลังในฐาน 10 |
9 | FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 มาโครเหล่านี้กำหนดค่าทศนิยมที่ จำกัด สูงสุด |
10 | FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 มาโครเหล่านี้กำหนดตัวเลขที่มีนัยสำคัญน้อยที่สุดที่สามารถแสดงได้ |
11 | FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 มาโครเหล่านี้กำหนดค่าทศนิยมขั้นต่ำ |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงการใช้ค่าคงที่ไม่กี่ค่าที่กำหนดในไฟล์ float.h
#include <stdio.h>
#include <float.h>
int main () {
printf("The maximum value of float = %.10e\n", FLT_MAX);
printf("The minimum value of float = %.10e\n", FLT_MIN);
printf("The number of digits in the number = %.10e\n", FLT_MANT_DIG);
}
ให้เรารวบรวมและรันโปรแกรมข้างต้นซึ่งจะให้ผลลัพธ์ดังต่อไปนี้ -
The maximum value of float = 3.4028234664e+38
The minimum value of float = 1.1754943508e-38
The number of digits in the number = 7.2996655210e-312
limits.hส่วนหัวกำหนดคุณสมบัติต่างๆของตัวแปรชนิดต่างๆ มาโครที่กำหนดไว้ในส่วนหัวนี้ จำกัด ค่าของตัวแปรประเภทต่างๆเช่น char, int และ long
ขีด จำกัด เหล่านี้ระบุว่าตัวแปรไม่สามารถจัดเก็บค่าใด ๆ เกินขีด จำกัด เหล่านี้ได้ตัวอย่างเช่นอักขระที่ไม่ได้ลงชื่อสามารถจัดเก็บค่าได้สูงสุด 255
แมโครไลบรารี
ค่าต่อไปนี้เป็นค่าเฉพาะการนำไปใช้งานและกำหนดด้วยคำสั่ง #define แต่ค่าเหล่านี้ต้องไม่ต่ำกว่าที่ระบุไว้ที่นี่
มาโคร | มูลค่า | คำอธิบาย |
---|---|---|
CHAR_BIT | 8 | กำหนดจำนวนบิตเป็นไบต์ |
SCHAR_MIN | -128 | กำหนดค่าต่ำสุดสำหรับถ่านที่เซ็นชื่อ |
SCHAR_MAX | +127 | กำหนดค่าสูงสุดสำหรับถ่านที่เซ็นชื่อ |
UCHAR_MAX | 255 | กำหนดค่าสูงสุดสำหรับถ่านที่ไม่ได้ลงชื่อ |
CHAR_MIN | -128 | กำหนดค่าต่ำสุดสำหรับชนิด char และค่าจะเท่ากับ SCHAR_MIN หาก char แทนค่าลบหรือเป็นศูนย์ |
CHAR_MAX | +127 | กำหนดค่าสำหรับชนิด char และค่าจะเท่ากับ SCHAR_MAX หาก char แทนค่าลบหรือ UCHAR_MAX |
MB_LEN_MAX | 16 | กำหนดจำนวนไบต์สูงสุดในอักขระแบบหลายไบต์ |
SHRT_MIN | -32768 | กำหนดค่าต่ำสุดสำหรับ int สั้น ๆ |
SHRT_MAX | +32767 | กำหนดค่าสูงสุดสำหรับ int สั้น ๆ |
USHRT_MAX | 65535 | กำหนดค่าสูงสุดสำหรับ int สั้นที่ไม่ได้ลงนาม |
INT_MIN | -2147483648 | กำหนดค่าต่ำสุดสำหรับ int |
INT_MAX | +2147483647 | กำหนดค่าสูงสุดสำหรับ int |
UINT_MAX | 4294967295 | กำหนดค่าสูงสุดสำหรับ int ที่ไม่ได้ลงนาม |
LONG_MIN | -9223372036854775808 | กำหนดค่าต่ำสุดสำหรับ int ยาว |
LONG_MAX | +9223372036854775807 | กำหนดค่าสูงสุดสำหรับ int ยาว |
ULONG_MAX | 18446744073709551615 | กำหนดค่าสูงสุดสำหรับ int ยาวที่ไม่ได้ลงนาม |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงการใช้ค่าคงที่ไม่กี่ค่าที่กำหนดใน limits.h ไฟล์.
#include <stdio.h>
#include <limits.h>
int main() {
printf("The number of bits in a byte %d\n", CHAR_BIT);
printf("The minimum value of SIGNED CHAR = %d\n", SCHAR_MIN);
printf("The maximum value of SIGNED CHAR = %d\n", SCHAR_MAX);
printf("The maximum value of UNSIGNED CHAR = %d\n", UCHAR_MAX);
printf("The minimum value of SHORT INT = %d\n", SHRT_MIN);
printf("The maximum value of SHORT INT = %d\n", SHRT_MAX);
printf("The minimum value of INT = %d\n", INT_MIN);
printf("The maximum value of INT = %d\n", INT_MAX);
printf("The minimum value of CHAR = %d\n", CHAR_MIN);
printf("The maximum value of CHAR = %d\n", CHAR_MAX);
printf("The minimum value of LONG = %ld\n", LONG_MIN);
printf("The maximum value of LONG = %ld\n", LONG_MAX);
return(0);
}
ให้เรารวบรวมและรันโปรแกรมข้างต้นซึ่งจะให้ผลลัพธ์ดังต่อไปนี้ -
The number of bits in a byte 8
The minimum value of SIGNED CHAR = -128
The maximum value of SIGNED CHAR = 127
The maximum value of UNSIGNED CHAR = 255
The minimum value of SHORT INT = -32768
The maximum value of SHORT INT = 32767
The minimum value of INT = -2147483648
The maximum value of INT = 2147483647
The minimum value of CHAR = -128
The maximum value of CHAR = 127
The minimum value of LONG = -9223372036854775808
The maximum value of LONG = 9223372036854775807
locale.hส่วนหัวกำหนดการตั้งค่าเฉพาะตำแหน่งเช่นรูปแบบวันที่และสัญลักษณ์สกุลเงิน คุณจะพบมาโครหลายตัวที่กำหนดพร้อมกับโครงสร้างที่สำคัญstruct lconv และฟังก์ชั่นที่สำคัญสองรายการด้านล่าง
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัวและมาโครเหล่านี้จะถูกใช้ในสองฟังก์ชันตามรายการด้านล่าง -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | LC_ALL ตั้งค่าทุกอย่าง |
2 | LC_COLLATE ส่งผลต่อฟังก์ชัน strcoll และ strxfrm |
3 | LC_CTYPE ส่งผลต่อฟังก์ชันอักขระทั้งหมด |
4 | LC_MONETARY มีผลต่อข้อมูลทางการเงินที่ให้มาโดยฟังก์ชัน localeconv |
5 | LC_NUMERIC ส่งผลต่อการจัดรูปแบบจุดทศนิยมและข้อมูลที่จัดเตรียมโดยฟังก์ชัน localeconv |
6 | LC_TIME มีผลต่อฟังก์ชัน strftime |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในตำแหน่งส่วนหัว h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | ถ่าน * setlocale (หมวดหมู่ int, const char * locale) ตั้งค่าหรืออ่านข้อมูลที่ขึ้นกับตำแหน่ง |
2 | โครงสร้าง lconv * localeconv (โมฆะ) ตั้งค่าหรืออ่านข้อมูลที่ขึ้นกับตำแหน่ง |
โครงสร้างห้องสมุด
typedef struct {
char *decimal_point;
char *thousands_sep;
char *grouping;
char *int_curr_symbol;
char *currency_symbol;
char *mon_decimal_point;
char *mon_thousands_sep;
char *mon_grouping;
char *positive_sign;
char *negative_sign;
char int_frac_digits;
char frac_digits;
char p_cs_precedes;
char p_sep_by_space;
char n_cs_precedes;
char n_sep_by_space;
char p_sign_posn;
char n_sign_posn;
} lconv
ต่อไปนี้เป็นคำอธิบายของแต่ละฟิลด์ -
ซีเนียร์ | ฟิลด์และคำอธิบาย |
---|---|
1 | decimal_point อักขระจุดทศนิยมที่ใช้สำหรับค่าที่ไม่ใช่ตัวเงิน |
2 | thousands_sep อักขระคั่นสถานที่หลายพันตัวที่ใช้สำหรับค่าที่ไม่ใช่ตัวเงิน |
3 | grouping สตริงที่ระบุขนาดของแต่ละกลุ่มหลักในปริมาณที่ไม่ใช่ตัวเงิน อักขระแต่ละตัวแทนค่าจำนวนเต็มซึ่งกำหนดจำนวนหลักในกลุ่มปัจจุบัน ค่า 0 หมายความว่าจะใช้ค่าก่อนหน้าสำหรับส่วนที่เหลือของกลุ่ม |
4 | int_curr_symbol เป็นสตริงของสัญลักษณ์สกุลเงินสากลที่ใช้ อักขระสามตัวแรกคืออักขระที่กำหนดโดย ISO 4217: 1987 และตัวที่สี่คืออักขระซึ่งแยกสัญลักษณ์สกุลเงินออกจากปริมาณเงิน |
5 | currency_symbol สัญลักษณ์ท้องถิ่นที่ใช้สำหรับสกุลเงิน |
6 | mon_decimal_point อักขระจุดทศนิยมที่ใช้สำหรับค่าเงิน |
7 | mon_thousands_sep อักขระการจัดกลุ่มสถานที่หลายพันรายการที่ใช้สำหรับมูลค่าเงิน |
8 | mon_grouping สตริงที่มีองค์ประกอบกำหนดขนาดของการจัดกลุ่มหลักเป็นมูลค่าเงิน อักขระแต่ละตัวแทนค่าจำนวนเต็มซึ่งกำหนดจำนวนหลักในกลุ่มปัจจุบัน ค่า 0 หมายความว่าจะใช้ค่าก่อนหน้าสำหรับส่วนที่เหลือของกลุ่ม |
9 | positive_sign อักขระที่ใช้สำหรับมูลค่าเงินที่เป็นบวก |
10 | negative_sign อักขระที่ใช้สำหรับมูลค่าเงินติดลบ |
11 | int_frac_digits จำนวนหลักที่จะแสดงหลังจุดทศนิยมในมูลค่าเงินระหว่างประเทศ |
12 | frac_digits จำนวนหลักที่จะแสดงหลังจุดทศนิยมในค่าเงิน |
13 | p_cs_precedes หากมีค่าเท่ากับ 1 currency_symbol จะปรากฏขึ้นก่อนมูลค่าเงินที่เป็นบวก ถ้ามีค่าเท่ากับ 0 currency_symbol จะปรากฏหลังจากมูลค่าเงินเป็นบวก |
14 | p_sep_by_space ถ้าเท่ากับ 1 currency_symbol จะถูกคั่นด้วยช่องว่างจากมูลค่าเงินที่เป็นบวก ถ้าเท่ากับ 0 แสดงว่าไม่มีช่องว่างระหว่าง currency_symbol กับมูลค่าเงินที่เป็นบวก |
15 | n_cs_precedes ถ้าเท่ากับ 1 แสดงว่า currency_symbol นำหน้าค่าเงินติดลบ ถ้าเท่ากับ 0 แสดงว่า currency_symbol สำเร็จเป็นค่าเงินติดลบ |
16 | n_sep_by_space ถ้าเท่ากับ 1 currency_symbol จะถูกคั่นด้วยช่องว่างจากมูลค่าเงินติดลบ ถ้าเท่ากับ 0 แสดงว่าไม่มีช่องว่างระหว่าง currency_symbol และค่าเงินติดลบ |
17 | p_sign_posn แสดงตำแหน่งของเครื่องหมายบวกในมูลค่าเงินที่เป็นบวก |
18 | n_sign_posn แสดงตำแหน่งของ negative_sign ในมูลค่าเงินติดลบ |
ค่าต่อไปนี้ใช้สำหรับ p_sign_posn และ n_sign_posn -
มูลค่า | คำอธิบาย |
---|---|
0 | วงเล็บจะห่อหุ้มค่าและ currency_symbol |
1 | เครื่องหมายนำหน้าค่าและ currency_symbol |
2 | เครื่องหมายแสดงถึงค่าและ currency_symbol |
3 | เครื่องหมายจะนำหน้าค่าและ currency_symbol ทันที |
4 | เครื่องหมายจะสำเร็จค่าและ currency_symbol ทันที |
math.hส่วนหัวกำหนดฟังก์ชันทางคณิตศาสตร์ต่างๆและหนึ่งมาโคร ฟังก์ชั่นทั้งหมดที่มีอยู่ในไลบรารีนี้ใช้double เป็นข้อโต้แย้งและกลับมา double ดังผลลัพท์.
แมโครไลบรารี
มีเพียงมาโครเดียวที่กำหนดไว้ในไลบรารีนี้ -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | HUGE_VAL มาโครนี้ใช้เมื่อผลลัพธ์ของฟังก์ชันอาจไม่สามารถแสดงเป็นตัวเลขทศนิยมได้ หากขนาดของผลลัพธ์ที่ถูกต้องมีขนาดใหญ่เกินกว่าจะแสดงได้ฟังก์ชันจะตั้งค่า errno เป็น ERANGE เพื่อระบุข้อผิดพลาดของช่วงและส่งกลับค่าที่เฉพาะเจาะจงซึ่งมีขนาดใหญ่มากซึ่งตั้งชื่อโดยมาโคร HUGE_VAL หรือการปฏิเสธ (- HUGE_VAL) ถ้าขนาดของผลลัพธ์น้อยเกินไปค่าของศูนย์จะถูกส่งกลับแทน ในกรณีนี้ errno อาจถูกตั้งค่าเป็น ERANGE หรือไม่ก็ได้ |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในส่วนหัวทางคณิตศาสตร์ h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | acos คู่ (x คู่) ส่งกลับค่าอาร์กโคไซน์ของ x เป็นเรเดียน |
2 | asin คู่ (double x) ส่งกลับไซน์อาร์กของ x เป็นเรเดียน |
3 | atan คู่ (double x) ส่งกลับค่าแทนเจนต์ส่วนโค้งของ x ในหน่วยเรเดียน |
4 | atan2 คู่ (คู่ y, คู่ x) ส่งกลับค่าแทนเจนต์ส่วนโค้งในเรเดียนของ y / x ตามสัญญาณของทั้งสองค่าเพื่อกำหนดกำลังสองที่ถูกต้อง |
5 | คู่ cos (คู่ x) ส่งกลับค่าโคไซน์ของมุมเรเดียน x |
6 | คู่ cosh (คู่ x) ส่งกลับค่าไฮเพอร์โบลิกโคไซน์ของ x |
7 | บาปสองเท่า (double x) ส่งกลับค่าไซน์ของมุมเรเดียน x |
8 | double sinh (คู่ x) ส่งกลับไซน์ไฮเปอร์โบลิกของ x |
9 | Tanh คู่ (x คู่) ส่งคืนไฮเพอร์โบลิกแทนเจนต์ของ x |
10 | exp สองเท่า (x คู่) ส่งกลับค่าของ e ยกกำลัง xth |
11 | frexp คู่ (x คู่, int * exponent) ค่าที่ส่งคืนคือแมนทิสซาและจำนวนเต็มที่ชี้ไปที่เลขชี้กำลังคือเลขชี้กำลัง ค่าผลลัพธ์คือ x = mantissa * 2 ^ exponent |
12 | ldexp คู่ (double x, int exponent) ผลตอบแทน x คูณด้วย 2 ยกกำลังเลขชี้กำลัง |
13 | บันทึกสองครั้ง (x คู่) ส่งคืนลอการิทึมธรรมชาติ (ลอการิทึมฐาน e) ของ x. |
14 | log10 คู่ (x คู่) ส่งคืนลอการิทึมทั่วไป (ลอการิทึมฐาน 10) ของ x. |
15 | modf คู่ (double x, double * integer) ค่าที่ส่งคืนคือส่วนประกอบเศษส่วน (ส่วนหลังทศนิยม) และตั้งค่าจำนวนเต็มเป็นส่วนประกอบจำนวนเต็ม |
16 | ผงคู่ (x คู่, y คู่) ส่งคืน x ยกกำลัง y. |
17 | sqrt คู่ (x คู่) ส่งคืนค่ารากที่สองของ x. |
18 | เพดานคู่ (x คู่) ส่งกลับค่าจำนวนเต็มที่น้อยที่สุดที่มากกว่าหรือเท่ากับ x. |
19 | fabs คู่ (x คู่) ส่งกลับค่าสัมบูรณ์ของ x. |
20 | สองชั้น (double x) ส่งคืนค่าจำนวนเต็มที่มากที่สุดน้อยกว่าหรือเท่ากับ x. |
21 | fmod คู่ (x คู่, y คู่) ส่งคืนส่วนที่เหลือของ x หารด้วย y. |
setjmp.h ส่วนหัวกำหนดมาโคร setjmp()หนึ่งฟังก์ชั่น longjmp()และตัวแปรหนึ่งประเภท jmp_bufสำหรับการข้ามการเรียกฟังก์ชันปกติและวินัยในการส่งคืน
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดในส่วนหัว setjmp.h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | jmp_buf นี่คือประเภทอาร์เรย์ที่ใช้สำหรับเก็บข้อมูลสำหรับมาโคร setjmp() และฟังก์ชั่น longjmp(). |
แมโครไลบรารี
มีเพียงมาโครเดียวที่กำหนดไว้ในไลบรารีนี้ -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | int setjmp (สภาพแวดล้อม jmp_buf) มาโครนี้บันทึกสภาพแวดล้อมปัจจุบันลงในตัวแปรenvironment สำหรับการใช้งานในภายหลังโดยฟังก์ชัน longjmp(). หากมาโครนี้ส่งคืนโดยตรงจากการเรียกใช้แมโครมาโครจะส่งคืนค่าเป็นศูนย์ แต่ถ้าส่งกลับจากไฟล์longjmp() การเรียกใช้ฟังก์ชันจากนั้นจะส่งคืนค่าที่ไม่ใช่ศูนย์ |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันเดียวที่กำหนดในส่วนหัว setjmp.h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | เป็นโมฆะ longjmp (สภาพแวดล้อม jmp_buf, ค่า int) ฟังก์ชันนี้จะคืนค่าสภาพแวดล้อมที่บันทึกไว้โดยการโทรล่าสุดไปที่ setjmp() มาโครในการเรียกใช้โปรแกรมเดียวกันกับไฟล์ jmp_buf การโต้เถียง. |
signal.h ส่วนหัวกำหนดประเภทตัวแปร sig_atomic_tการเรียกใช้ฟังก์ชันสองครั้งและมาโครหลายตัวเพื่อจัดการกับสัญญาณต่าง ๆ ที่รายงานระหว่างการทำงานของโปรแกรม
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดไว้ในสัญญาณส่วนหัว h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | sig_atomic_t นี่คือของ intพิมพ์และใช้เป็นตัวแปรในตัวจัดการสัญญาณ นี่คือประเภทอินทิกรัลของอ็อบเจ็กต์ที่สามารถเข้าถึงได้ในฐานะเอนทิตีอะตอมแม้ว่าจะมีสัญญาณอะซิงโครนัสก็ตาม |
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในสัญญาณส่วนหัว h และมาโครเหล่านี้จะถูกใช้ในสองฟังก์ชันตามรายการด้านล่าง SIG_ มาโครใช้กับฟังก์ชันสัญญาณเพื่อกำหนดฟังก์ชันสัญญาณ
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | SIG_DFL เครื่องจัดการสัญญาณเริ่มต้น |
2 | SIG_ERR แสดงถึงความผิดพลาดของสัญญาณ |
3 | SIG_IGN ไม่สนใจสัญญาณ |
SIG มาโครใช้เพื่อแสดงหมายเลขสัญญาณในเงื่อนไขต่อไปนี้ -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | SIGABRT การยุติโปรแกรมผิดปกติ |
2 | SIGFPE Floating-point error เช่นการหารด้วยศูนย์ |
3 | SIGILL การดำเนินการที่ผิดกฎหมาย |
4 | SIGINT สัญญาณขัดจังหวะเช่น ctrl-C |
5 | SIGSEGV การเข้าถึงพื้นที่เก็บข้อมูลไม่ถูกต้องเช่นการละเมิดกลุ่ม |
6 | SIGTERM คำขอเลิกจ้าง |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในสัญญาณส่วนหัว h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | โมฆะ (* สัญญาณ (int sig, void (* func) (int))) (int) ฟังก์ชันนี้ตั้งค่าฟังก์ชันเพื่อจัดการสัญญาณเช่นตัวจัดการสัญญาณ |
2 | int เพิ่ม (int sig) ฟังก์ชันนี้ทำให้เกิดสัญญาณ sigที่จะสร้างขึ้น อาร์กิวเมนต์ sig เข้ากันได้กับแมโคร SIG |
stdarg.h ส่วนหัวกำหนดประเภทตัวแปร va_list และสามมาโครที่สามารถใช้เพื่อรับอาร์กิวเมนต์ในฟังก์ชันเมื่อไม่ทราบจำนวนอาร์กิวเมนต์เช่นจำนวนอาร์กิวเมนต์ตัวแปร
ฟังก์ชันของอาร์กิวเมนต์ตัวแปรถูกกำหนดด้วยจุดไข่ปลา (, ... ) ที่ส่วนท้ายของรายการพารามิเตอร์
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดไว้ในส่วนหัว stdarg.h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | va_list นี่เป็นประเภทที่เหมาะสำหรับการเก็บข้อมูลที่จำเป็นสำหรับมาโครทั้งสาม va_start(), va_arg() และ va_end(). |
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัว stdarg.h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | เป็นโมฆะ va_start (va_list ap, last_arg) มาโครนี้เริ่มต้น ap ตัวแปรที่จะใช้กับ va_arg และ va_endมาโคร last_arg เป็นอาร์กิวเมนต์คงที่สุดท้ายที่ทราบซึ่งถูกส่งผ่านไปยังฟังก์ชันนั่นคืออาร์กิวเมนต์ก่อนจุดไข่ปลา |
2 | พิมพ์ va_arg (va_list ap ประเภท) มาโครนี้ดึงอาร์กิวเมนต์ถัดไปในรายการพารามิเตอร์ของฟังก์ชันที่มีประเภท type. |
3 | เป็นโมฆะ va_end (va_list ap) มาโครนี้อนุญาตให้ใช้ฟังก์ชันที่มีอาร์กิวเมนต์ตัวแปรซึ่งใช้ va_startมาโครที่จะส่งคืน ถ้าva_end ไม่ได้ถูกเรียกก่อนกลับจากฟังก์ชันผลลัพธ์จะไม่ได้กำหนด |
stddef.hส่วนหัวกำหนดประเภทตัวแปรและมาโครต่างๆ คำจำกัดความเหล่านี้จำนวนมากยังปรากฏในส่วนหัวอื่น ๆ
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดไว้ในส่วนหัว stddef.h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | ptrdiff_t นี่คือประเภทอินทิกรัลที่ลงนามและเป็นผลมาจากการลบสองพอยน์เตอร์ |
2 | size_t นี่คือประเภทอินทิกรัลที่ไม่ได้ลงนามและเป็นผลมาจาก sizeof คำสำคัญ. |
3 | wchar_t นี่คือชนิดหนึ่งของขนาดของค่าคงที่อักขระแบบกว้าง |
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัว stddef.h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | NULL มาโครนี้เป็นค่าของค่าคงที่ของตัวชี้ค่าว่าง |
2 | offsetof (ประเภทผู้กำหนดสมาชิก) ส่งผลให้จำนวนเต็มคงที่ของชนิด size_t ซึ่งเป็นค่าออฟเซ็ตเป็นไบต์ของสมาชิกโครงสร้างตั้งแต่จุดเริ่มต้นของโครงสร้าง สมาชิกจะได้รับจากสมาชิก designatorและชื่อของโครงสร้างที่จะได้รับในประเภท |
stdio.h ส่วนหัวกำหนดตัวแปรสามประเภทมาโครหลายตัวและฟังก์ชันต่างๆสำหรับการดำเนินการอินพุตและเอาต์พุต
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดไว้ในส่วนหัว stdio.h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | size_t นี่คือประเภทอินทิกรัลที่ไม่ได้ลงนามและเป็นผลมาจาก sizeof คำสำคัญ. |
2 | FILE นี่คือประเภทออบเจ็กต์ที่เหมาะสำหรับการจัดเก็บข้อมูลสำหรับสตรีมไฟล์ |
3 | fpos_t นี่คือประเภทออบเจ็กต์ที่เหมาะสำหรับการจัดเก็บตำแหน่งใด ๆ ในไฟล์ |
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัว stdio.h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | NULL มาโครนี้เป็นค่าของค่าคงที่ของตัวชี้ค่าว่าง |
2 | _IOFBF, _IOLBF และ _IONBF นี่คือมาโครที่ขยายเป็นนิพจน์คงที่ที่มีค่าแตกต่างกันและเหมาะสำหรับใช้เป็นอาร์กิวเมนต์ที่สามของ setvbuf ฟังก์ชัน |
3 | BUFSIZ มาโครนี้เป็นจำนวนเต็มซึ่งแสดงถึงขนาดของบัฟเฟอร์ที่ใช้โดย setbuf ฟังก์ชัน |
4 | EOF มาโครนี้เป็นจำนวนเต็มลบซึ่งบ่งชี้ว่าถึงจุดสิ้นสุดของไฟล์แล้ว |
5 | FOPEN_MAX มาโครนี้เป็นจำนวนเต็มซึ่งแสดงถึงจำนวนไฟล์สูงสุดที่ระบบรับประกันได้ว่าจะเปิดพร้อมกัน |
6 | FILENAME_MAX มาโครนี้เป็นจำนวนเต็มซึ่งแสดงถึงความยาวที่ยาวที่สุดของอาร์เรย์ถ่านที่เหมาะสำหรับการเก็บชื่อไฟล์ที่ยาวที่สุด หากการใช้งานไม่มีขีด จำกัด ค่านี้ควรเป็นค่าสูงสุดที่แนะนำ |
7 | L_tmpnam มาโครนี้เป็นจำนวนเต็มซึ่งแสดงถึงความยาวที่ยาวที่สุดของอาร์เรย์ถ่านที่เหมาะสมสำหรับการเก็บชื่อไฟล์ชั่วคราวที่ยาวที่สุดที่เป็นไปได้ที่สร้างโดย tmpnam ฟังก์ชัน |
8 | SEEK_CUR, SEEK_END, และ SEEK_SET มาโครเหล่านี้ใช้ในไฟล์ fseek ฟังก์ชันเพื่อค้นหาตำแหน่งต่างๆในไฟล์ |
9 | TMP_MAX มาโครนี้คือจำนวนชื่อไฟล์ที่ไม่ซ้ำกันสูงสุดที่ฟังก์ชัน tmpnam สามารถสร้าง |
10 | stderr, stdin, และ stdout มาโครเหล่านี้เป็นตัวชี้ไปยังประเภท FILE ซึ่งสอดคล้องกับข้อผิดพลาดมาตรฐานอินพุตมาตรฐานและสตรีมเอาต์พุตมาตรฐาน |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในส่วนหัว stdio.h -
ทำตามลำดับของฟังก์ชันเดียวกันเพื่อความเข้าใจที่ดีขึ้นและใช้ประโยชน์ได้ Try it(คอมไพเลอร์ออนไลน์) เนื่องจากไฟล์ที่สร้างในฟังก์ชันแรกจะถูกใช้ในฟังก์ชันต่อมา
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | int fclose (FILE * สตรีม) ปิดสตรีม บัฟเฟอร์ทั้งหมดจะถูกล้าง |
2 | เป็นโมฆะที่ชัดเจนขึ้น (FILE * สตรีม) ล้างตัวบ่งชี้จุดสิ้นสุดของไฟล์และข้อผิดพลาดสำหรับสตรีมที่กำหนด |
3 | int feof (FILE * สตรีม) ทดสอบตัวบ่งชี้ท้ายไฟล์สำหรับสตรีมที่กำหนด |
4 | int ferror (FILE * สตรีม) ทดสอบตัวบ่งชี้ข้อผิดพลาดสำหรับสตรีมที่กำหนด |
5 | int fflush (FILE * สตรีม) ล้างบัฟเฟอร์เอาต์พุตของสตรีม |
6 | int fgetpos (FILE * สตรีม, fpos_t * pos) รับตำแหน่งไฟล์ปัจจุบันของสตรีมและเขียนลงใน pos |
7 | FILE * fopen (ชื่อไฟล์ const char *, โหมด const char *) เปิดชื่อไฟล์ที่ชี้โดยชื่อไฟล์โดยใช้โหมดที่กำหนด |
8 | size_t fread (void * ptr, size_t size, size_t nmemb, FILE * stream) อ่านข้อมูลจากสตรีมที่กำหนดไปยังอาร์เรย์ที่ชี้โดย ptr |
9 | FILE * freopen (ชื่อไฟล์ const char *, โหมด const char *, FILE * stream) เชื่อมโยงชื่อไฟล์ใหม่กับสตรีมแบบเปิดที่กำหนดและปิดไฟล์เก่าในสตรีมในเวลาเดียวกัน |
10 | int fseek (สตรีม FILE *, long int offset, int มาจากไหน) ตั้งค่าตำแหน่งไฟล์ของสตรีมเป็นออฟเซ็ตที่กำหนด อาร์กิวเมนต์ชดเชยหมายจำนวนไบต์ที่จะแสวงหาจากที่ได้รับมาจากไหนตำแหน่ง |
11 | int fsetpos (FILE * สตรีม, const fpos_t * pos) ตั้งค่าตำแหน่งไฟล์ของสตรีมที่กำหนดให้เป็นตำแหน่งที่กำหนด ตำแหน่งของอาร์กิวเมนต์คือตำแหน่งที่กำหนดโดยฟังก์ชัน fgetpos |
12 | ยาว int ftell (FILE * สตรีม) ส่งคืนตำแหน่งไฟล์ปัจจุบันของสตรีมที่กำหนด |
13 | size_t fwrite (const void * ptr, size_t size, size_t nmemb, FILE * stream) เขียนข้อมูลจากอาร์เรย์ที่ชี้โดย ptr ไปยังสตรีมที่กำหนด |
14 | int ลบ (const char * ชื่อไฟล์) ลบชื่อไฟล์ที่กำหนดเพื่อให้ไม่สามารถเข้าถึงได้อีกต่อไป |
15 | int เปลี่ยนชื่อ (const ถ่าน * old_filename, const ถ่าน * new_filename) ทำให้ชื่อไฟล์ที่อ้างถึงโดย old_filename ถูกเปลี่ยนเป็น new_filename |
16 | การกรอกลับเป็นโมฆะ (FILE * สตรีม) ตั้งค่าตำแหน่งไฟล์เป็นจุดเริ่มต้นของไฟล์ของสตรีมที่กำหนด |
17 | เป็นโมฆะ setbuf (FILE * stream, char * buffer) กำหนดวิธีการบัฟเฟอร์สตรีม |
18 | int setvbuf (สตรีมไฟล์ *, บัฟเฟอร์ถ่าน *, โหมด int, ขนาด size_t) ฟังก์ชั่นอื่นในการกำหนดวิธีการบัฟเฟอร์สตรีม |
19 | FILE * tmpfile (โมฆะ) สร้างไฟล์ชั่วคราวในโหมดอัพเดตไบนารี (wb +) |
20 | ถ่าน * tmpnam (ถ่าน * str) สร้างและส่งคืนชื่อไฟล์ชั่วคราวที่ถูกต้องซึ่งไม่มีอยู่ |
21 | int fprintf (FILE * สตรีม, รูปแบบ const char *, ... ) ส่งเอาต์พุตที่จัดรูปแบบไปยังสตรีม |
22 | int printf (รูปแบบ const char *, ... ) ส่งเอาต์พุตที่จัดรูปแบบไปยัง stdout |
23 | int sprintf (ถ่าน * str, รูปแบบ const char *, ... ) ส่งเอาต์พุตที่จัดรูปแบบไปยังสตริง |
24 | int vfprintf (สตรีม FILE *, รูปแบบ const char *, va_list arg) ส่งเอาต์พุตที่จัดรูปแบบไปยังสตรีมโดยใช้รายการอาร์กิวเมนต์ |
25 | int vprintf (รูปแบบ const char *, va_list arg) ส่งเอาต์พุตที่จัดรูปแบบไปยัง stdout โดยใช้รายการอาร์กิวเมนต์ |
26 | int vsprintf (ถ่าน * str, รูปแบบ const char *, va_list arg) ส่งเอาต์พุตที่จัดรูปแบบไปยังสตริงโดยใช้รายการอาร์กิวเมนต์ |
27 | int fscanf (สตรีม FILE *, รูปแบบ const char *, ... ) อ่านอินพุตที่จัดรูปแบบจากสตรีม |
28 | int scanf (รูปแบบ const char *, ... ) อ่านอินพุตที่จัดรูปแบบจาก stdin |
29 | int sscanf (const char * str, รูปแบบ const char *, ... ) อ่านอินพุตที่จัดรูปแบบจากสตริง |
30 | int fgetc (FILE * สตรีม) รับอักขระถัดไป (ถ่านที่ไม่ได้ลงชื่อ) จากสตรีมที่ระบุและเลื่อนตัวบ่งชี้ตำแหน่งสำหรับสตรีม |
31 | ถ่าน * fgets (ถ่าน * str, int n, FILE * สตรีม) อ่านบรรทัดจากสตรีมที่ระบุและเก็บไว้ในสตริงที่ชี้โดย str จะหยุดเมื่อมีการอ่านอักขระ (n-1) อักขระขึ้นบรรทัดใหม่ถูกอ่านหรือถึงจุดสิ้นสุดของไฟล์แล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน |
32 | int fputc (int ถ่าน, FILE * สตรีม) เขียนอักขระ (ถ่านที่ไม่ได้ลงชื่อ) ที่ระบุโดยอาร์กิวเมนต์ถ่านไปยังสตรีมที่ระบุและเลื่อนตัวบ่งชี้ตำแหน่งสำหรับสตรีม |
33 | int fputs (const ถ่าน * str, FILE * สตรีม) เขียนสตริงไปยังสตรีมที่ระบุสูงสุด แต่ไม่รวมอักขระ null |
34 | int getc (FILE * สตรีม) รับอักขระถัดไป (ถ่านที่ไม่ได้ลงชื่อ) จากสตรีมที่ระบุและเลื่อนตัวบ่งชี้ตำแหน่งสำหรับสตรีม |
35 | int getchar (โมฆะ) รับอักขระ (ถ่านที่ไม่ได้ลงชื่อ) จาก stdin |
36 | ถ่าน * ได้รับ (ถ่าน * str) อ่านบรรทัดจาก stdin และเก็บไว้ในสตริงที่ชี้ไปโดย str จะหยุดเมื่อมีการอ่านอักขระขึ้นบรรทัดใหม่หรือเมื่อถึงจุดสิ้นสุดของไฟล์แล้วแต่ว่ากรณีใดจะเกิดขึ้นก่อน |
37 | int putc (int ถ่าน, FILE * สตรีม) เขียนอักขระ (ถ่านที่ไม่ได้ลงชื่อ) ที่ระบุโดยอาร์กิวเมนต์ถ่านไปยังสตรีมที่ระบุและเลื่อนตัวบ่งชี้ตำแหน่งสำหรับสตรีม |
38 | int putchar (int ถ่าน) เขียนอักขระ (ถ่านที่ไม่ได้ลงนาม) ที่ระบุโดยอาร์กิวเมนต์ char เป็น stdout |
39 | int ทำให้ (const char * str) เขียนสตริงเป็น stdout ขึ้นไป แต่ไม่รวมอักขระ null อักขระขึ้นบรรทัดใหม่ถูกผนวกเข้ากับผลลัพธ์ |
40 | int ungetc (int ถ่าน, FILE * สตรีม) พุชอักขระอักขระ (ถ่านที่ไม่ได้ลงชื่อ) ไปยังสตรีมที่ระบุเพื่อให้อ่านอักขระถัดไป |
41 | เป็นโมฆะ perror (const char * str) พิมพ์ข้อความแสดงข้อผิดพลาดที่อธิบายไปยัง stderr ขั้นแรกให้พิมพ์สตริง str ตามด้วยเครื่องหมายจุดคู่แล้วเว้นวรรค |
stdlib.h ส่วนหัวกำหนดตัวแปรสี่ประเภทมาโครหลายตัวและฟังก์ชันต่างๆสำหรับการทำหน้าที่ทั่วไป
ตัวแปรห้องสมุด
ต่อไปนี้เป็นประเภทตัวแปรที่กำหนดไว้ในส่วนหัว stdlib.h -
ซีเนียร์ | ตัวแปรและคำอธิบาย |
---|---|
1 | size_t นี่คือประเภทอินทิกรัลที่ไม่ได้ลงนามและเป็นผลมาจาก sizeof คำสำคัญ. |
2 | wchar_t นี่คือประเภทจำนวนเต็มขนาดของไฟล์ wide ค่าคงที่ของอักขระ |
3 | div_t นี่คือโครงสร้างที่ส่งคืนโดยไฟล์ div ฟังก์ชัน |
4 | ldiv_t นี่คือโครงสร้างที่ส่งคืนโดยไฟล์ ldiv ฟังก์ชัน |
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดไว้ในส่วนหัว stdlib.h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | NULL มาโครนี้เป็นค่าของค่าคงที่ของตัวชี้ค่าว่าง |
2 | EXIT_FAILURE นี่คือค่าสำหรับฟังก์ชัน exit ที่จะส่งคืนในกรณีที่ล้มเหลว |
3 | EXIT_SUCCESS นี่คือค่าสำหรับฟังก์ชัน exit ที่จะส่งกลับในกรณีที่สำเร็จ |
4 | RAND_MAX มาโครนี้เป็นค่าสูงสุดที่ส่งคืนโดยฟังก์ชัน Rand |
5 | MB_CUR_MAX มาโครนี้เป็นจำนวนไบต์สูงสุดในชุดอักขระแบบหลายไบต์ซึ่งต้องมีขนาดไม่เกิน MB_LEN_MAX |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดไว้ในส่วนหัว stlib.h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | atof สองเท่า (const char * str) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นตัวเลขทศนิยม (พิมพ์ double) |
2 | int atoi (const ถ่าน * str) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นจำนวนเต็ม (พิมพ์ int) |
3 | atol int ยาว (const ถ่าน * str) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นจำนวนเต็มยาว (พิมพ์ long int) |
4 | strtod คู่ (const char * str, char ** endptr) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นตัวเลขทศนิยม (พิมพ์ double) |
5 | strtol int ยาว (const char * str, char ** endptr, ฐาน int) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นจำนวนเต็มยาว (พิมพ์ long int) |
6 | int strtoul ยาวที่ไม่ได้ลงนาม (const char * str, char ** endptr, int base) แปลงสตริงที่ชี้ไปโดยอาร์กิวเมนต์strเป็นจำนวนเต็มยาวที่ไม่ได้ลงชื่อ (พิมพ์ int ยาวที่ไม่ได้ลงนาม) |
7 | เป็นโมฆะ * calloc (ไนเท็ม size_t ขนาด size_t) จัดสรรหน่วยความจำที่ร้องขอและส่งกลับตัวชี้ไปที่หน่วยความจำนั้น |
8 | โมฆะฟรี (โมฆะ * ptr deallocates จัดสรรหน่วยความจำก่อนหน้านี้โดยการโทรไปยังcalloc, malloc,หรือrealloc |
9 | เป็นโมฆะ * malloc (ขนาด size_t) จัดสรรหน่วยความจำที่ร้องขอและส่งกลับตัวชี้ไปที่หน่วยความจำนั้น |
10 | เป็นโมฆะ * realloc (โมฆะ * ptr ขนาด size_t) ความพยายามที่จะปรับขนาดบล็อกหน่วยความจำที่ชี้ไปตาม PTR ที่ได้รับการจัดสรรก่อนหน้านี้มีการเรียกไปยังmallocหรือcalloc |
11 | เป็นโมฆะยกเลิก (โมฆะ) ทำให้โปรแกรมหยุดทำงานผิดปกติ |
12 | int atexit (โมฆะ (* func) (โมฆะ)) ทำให้เกิดฟังก์ชันที่ระบุ func จะถูกเรียกเมื่อโปรแกรมสิ้นสุดตามปกติ |
13 | ทางออกเป็นโมฆะ (สถานะ int) ทำให้โปรแกรมหยุดทำงานตามปกติ |
14 | ถ่าน * getenv (ชื่อ const ถ่าน *) ค้นหาสตริงสภาพแวดล้อมที่ชี้ไปตามชื่อและส่งคืนค่าที่เกี่ยวข้องไปยังสตริง |
15 | ระบบ int (สตริง const char *) คำสั่งที่ระบุโดยสตริงถูกส่งผ่านไปยังสภาวะแวดล้อมโฮสต์ที่จะดำเนินการโดยตัวประมวลผลคำสั่ง |
16 | โมฆะ * bsearch (const void * key, const void * base, size_t nitems, size_t size, int (* compar) (const void *, const void *)) ทำการค้นหาแบบไบนารี |
17 | เป็นโมฆะ qsort (void * base, size_t nitems, size_t size, int (* compar) (const void *, const void *)) จัดเรียงอาร์เรย์ |
18 | int abs (int x) ส่งกลับค่าสัมบูรณ์ของ x |
19 | div_t div (ตัวเลข int, int นิกาย) หารตัวเลข (ตัวเศษ) ด้วยส่วน (ตัวส่วน) |
20 | ห้องทดลอง int ยาว (ยาว int x) ส่งกลับค่าสัมบูรณ์ของ x |
21 | ldiv_t ldiv (long int numer, long int denom) หารตัวเลข (ตัวเศษ) ด้วยส่วน (ตัวส่วน) |
22 | int Rand (โมฆะ) ส่งคืนตัวเลขสุ่มหลอกในช่วงของ 0 ไปยังRAND_MAX |
23 | เป็นโมฆะ srand (เมล็ด int ที่ไม่ได้ลงนาม) ฟังก์ชั่นนี้เมล็ดกำเนิดตัวสร้างตัวเลขสุ่มที่ใช้โดยฟังก์ชัน rand. |
24 | int mblen (const ถ่าน * str, size_t n) ผลตอบแทนที่ความยาวของตัวอักษรสัญลักษณ์ที่ชี้ไปตามอาร์กิวเมนต์STR |
25 | size_t mbstowcs (schar_t * pwcs, const char * str, size_t n) แปลงสายอักขระสัญลักษณ์ที่ชี้ไปตามอาร์กิวเมนต์STRไปยังอาร์เรย์ที่ชี้ไปตามPWCS |
26 | int mbtowc (whcar_t * pwc, const char * str, size_t n) ตรวจสอบตัวอักษรสัญลักษณ์ที่ชี้ไปตามอาร์กิวเมนต์STR |
27 | size_t wcstombs (ถ่าน * str, const wchar_t * pwcs, size_t n) Converts the codes stored in the array pwcs to multibyte characters and stores them in the string str. |
28 | int wctomb(char *str, wchar_t wchar) Examines the code which corresponds to a multibyte character given by the argument wchar. |
The string.h header defines one variable type, one macro, and various functions for manipulating arrays of characters.
Library Variables
Following is the variable type defined in the header string.h −
Sr.No. | Variable & Description |
---|---|
1 | size_t This is the unsigned integral type and is the result of the sizeof keyword. |
Library Macros
Following is the macro defined in the header string.h −
Sr.No. | Macro & Description |
---|---|
1 | NULL This macro is the value of a null pointer constant. |
Library Functions
Following are the functions defined in the header string.h −
Sr.No. | Function & Description |
---|---|
1 | void *memchr(const void *str, int c, size_t n) Searches for the first occurrence of the character c (an unsigned char) in the first n bytes of the string pointed to, by the argument str. |
2 | int memcmp(const void *str1, const void *str2, size_t n) Compares the first n bytes of str1 and str2. |
3 | void *memcpy(void *dest, const void *src, size_t n) Copies n characters from src to dest. |
4 | void *memmove(void *dest, const void *src, size_t n) Another function to copy n characters from str2 to str1. |
5 | void *memset(void *str, int c, size_t n) Copies the character c (an unsigned char) to the first n characters of the string pointed to, by the argument str. |
6 | char *strcat(char *dest, const char *src) Appends the string pointed to, by src to the end of the string pointed to by dest. |
7 | char *strncat(char *dest, const char *src, size_t n) Appends the string pointed to, by src to the end of the string pointed to, by dest up to n characters long. |
8 | char *strchr(const char *str, int c) Searches for the first occurrence of the character c (an unsigned char) in the string pointed to, by the argument str. |
9 | int strcmp(const char *str1, const char *str2) Compares the string pointed to, by str1 to the string pointed to by str2. |
10 | int strncmp(const char *str1, const char *str2, size_t n) Compares at most the first n bytes of str1 and str2. |
11 | int strcoll(const char *str1, const char *str2) Compares string str1 to str2. The result is dependent on the LC_COLLATE setting of the location. |
12 | char *strcpy(char *dest, const char *src) Copies the string pointed to, by src to dest. |
13 | char *strncpy(char *dest, const char *src, size_t n) Copies up to n characters from the string pointed to, by src to dest. |
14 | size_t strcspn(const char *str1, const char *str2) Calculates the length of the initial segment of str1 which consists entirely of characters not in str2. |
15 | char *strerror(int errnum) Searches an internal array for the error number errnum and returns a pointer to an error message string. |
16 | size_t strlen(const char *str) Computes the length of the string str up to but not including the terminating null character. |
17 | char *strpbrk(const char *str1, const char *str2) Finds the first character in the string str1 that matches any character specified in str2. |
18 | char *strrchr(const char *str, int c) Searches for the last occurrence of the character c (an unsigned char) in the string pointed to by the argument str. |
19 | size_t strspn(const char *str1, const char *str2) Calculates the length of the initial segment of str1 which consists entirely of characters in str2. |
20 | char *strstr(const char *haystack, const char *needle) Finds the first occurrence of the entire string needle (not including the terminating null character) which appears in the string haystack. |
21 | char *strtok(char *str, const char *delim) Breaks string str into a series of tokens separated by delim. |
22 | size_t strxfrm(char *dest, const char *src, size_t n) Transforms the first n characters of the string src into current locale and places them in the string dest. |
The time.h header defines four variable types, two macro and various functions for manipulating date and time.
Library Variables
Following are the variable types defined in the header time.h −
Sr.No. | Variable & Description |
---|---|
1 | size_t This is the unsigned integral type and is the result of the sizeof keyword. |
2 | clock_t This is a type suitable for storing the processor time. |
3 | time_t is This is a type suitable for storing the calendar time. |
4 | struct tm This is a structure used to hold the time and date. |
โครงสร้าง tm มีความหมายดังต่อไปนี้ -
struct tm {
int tm_sec; /* seconds, range 0 to 59 */
int tm_min; /* minutes, range 0 to 59 */
int tm_hour; /* hours, range 0 to 23 */
int tm_mday; /* day of the month, range 1 to 31 */
int tm_mon; /* month, range 0 to 11 */
int tm_year; /* The number of years since 1900 */
int tm_wday; /* day of the week, range 0 to 6 */
int tm_yday; /* day in the year, range 0 to 365 */
int tm_isdst; /* daylight saving time */
};
แมโครไลบรารี
ต่อไปนี้เป็นมาโครที่กำหนดในเวลาส่วนหัว h -
ซีเนียร์ | มาโครและคำอธิบาย |
---|---|
1 | NULL มาโครนี้เป็นค่าของค่าคงที่ของตัวชี้ค่าว่าง |
2 | CLOCKS_PER_SEC มาโครนี้แสดงจำนวนนาฬิกาตัวประมวลผลต่อวินาที |
ฟังก์ชั่นห้องสมุด
ต่อไปนี้เป็นฟังก์ชันที่กำหนดในเวลาส่วนหัว h -
ซีเนียร์ | ฟังก์ชั่นและคำอธิบาย |
---|---|
1 | ถ่าน * asctime (const struct tm * timeptr) ส่งกลับตัวชี้ไปยังสตริงซึ่งแสดงถึงวันและเวลาของโครงสร้าง timeptr |
2 | clock_t นาฬิกา (โมฆะ) ส่งคืนเวลานาฬิกาของโปรเซสเซอร์ที่ใช้ตั้งแต่จุดเริ่มต้นของยุคที่กำหนดการนำไปใช้งาน |
3 | ถ่าน * ctime (const time_t * ตัวจับเวลา) ส่งคืนสตริงที่แสดงเวลาท้องถิ่นตามตัวจับเวลาอาร์กิวเมนต์ |
4 | difftime สองเท่า (time_t time1, time_t time2) ส่งกลับผลต่างของวินาทีระหว่าง time1 และ time2 (time1-time2) |
5 | โครงสร้าง tm * gmtime (const time_t * ตัวจับเวลา) ค่าของตัวจับเวลาแบ่งออกเป็นโครงสร้าง tm และแสดงเป็นเวลาสากลเชิงพิกัด (UTC) หรือที่เรียกว่าเวลามาตรฐานกรีนิช (GMT) |
6 | โครงสร้าง tm * localtime (const time_t * ตัวจับเวลา) ค่าของตัวจับเวลาจะถูกแบ่งออกเป็นโครงสร้าง tm และแสดงในเขตเวลาท้องถิ่น |
7 | time_t mktime (โครงสร้าง tm * timeptr) แปลงโครงสร้างที่ชี้ตาม timeptr เป็นค่า time_t ตามเขตเวลาท้องถิ่น |
8 | size_t strftime (char * str, size_t maxsize, รูปแบบ const char *, const struct tm * timeptr) จัดรูปแบบเวลาที่แสดงในโครงสร้าง timeptr ตามกฎการจัดรูปแบบที่กำหนดในรูปแบบและจัดเก็บไว้ใน str |
9 | time_t เวลา (time_t * ตัวจับเวลา) คำนวณเวลาปฏิทินปัจจุบันและเข้ารหัสเป็นรูปแบบ time_t |