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

กำหนดโหมดการปัดเศษสำหรับการเพิ่มจุดลอยตัวและสามารถมีค่าใด ๆ ต่อไปนี้ -

  • -1 - ไม่แน่นอน
  • 0 - ไปทางศูนย์
  • 1 - ไปใกล้ที่สุด
  • 2 - สู่อินฟินิตี้เชิงบวก
  • 3 - ไปทางลบอินฟินิตี้
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