stdio.h trong C | Thư viện C chuẩn




stdio.h trong C

Header file có tên stdio.h trong Thư viện C chuẩn định nghĩa 3 kiểu biến, một số macro và các hàm đa dạng để thực hiện input và output.

Các biến được định nghĩa trong stdio.h

Dưới đây liệt kê một số kiểu biến được định nghĩa trong stdio.h trong Thư viện C:

STT Biến & Miêu tả
1 size_t

Đây là kiểu nguyên không dấu và là kết quả của từ khóa sizeof

2 FILE

Đây là một kiểu đối tượng phù hợp để lưu trữ thông tin cho một File Stream

3 fpos_t

Đây là một kiểu đối tượng phù hợp để lưu trữ bất cứ vị trí nào trong một File

Các macro được định nghĩa trong stdio.h

Bảng dưới liệt kê một số Macro được định nghĩa trong stdio.h trong Thư viện C:

STT Macro & Miêu tả
1 NULL

Macro này là giá trị của một hằng con trỏ null

2 _IOFBF, _IOLBF _IONBF

Đây là các macro mà phát triển các biểu thức hằng số nguyên với các giá trị riêng biệt và phù hợp để sử dụng như là tham số thứ ba cho hàm setvbuf

3 BUFSIZ

Macro này là một số nguyên, mà biểu diễn kích cỡ của Buffer được sử dụng bởi hàm setbuf

4 EOF

Macro này là một số nguyên âm, chỉ rằng đã đến End-Of-File

5 FOPEN_MAX

Macro này là một số nguyên, biểu diễn số file tối đa mà hệ thống có thể bảo đảm để được mở một cách đồng thời

6 FILENAME_MAX

Macro này là một số nguyên, biểu diễn length dài nhất của một mảng ký tự phù hợp để lưu trữ filename dài nhất có thể. Nếu trình triển khai là không giới hạn, thì giá trị này nên là giá trị tối đa được đề nghị

7 L_tmpnam

Macro này là một số nguyên, biểu diễn length dài nhất của một mảng ký tự phù hợp để lưu trữ filename tạm thời dài nhất có thể mà được tạo bởi hàm tmpnam

8 SEEK_CUR, SEEK_END,SEEK_SET

Macro này được sử dụng trong hàm fseek để xác định các vị trí khác nhau trong một File

9 TMP_MAX

Macro này là số tối đa các filename duy nhất mà hàm tmpnam có thể tạo

10 stderr, stdin,stdout

Các macro này là các con trỏ tới các kiểu FILE tương ứng với Standard Error, Standard Input và Standard Output Stream

Các hàm được định nghĩa trong stdio.h

Sau đây là một số hàm được định nghĩa trong stdio.h trong Thư viện C:

Khi truy cập link để theo dõi các ví dụ, bạn chú ý rằng file được tạo trong hàm đầu tiên sẽ được sử dụng trong các hàm tiếp theo.
STT Hàm & Miêu tả
1

Hàm int fclose(FILE *stream)

Đóng Stream. Tất cả Buffer (bộ đệm) bị Flush (xóa sạch hoặc chuyển hết ra ngoại vi)

2

Hàm void clearerr(FILE *stream)

Xóa end-of-file và error indicator cho Stream đã cho

3

Hàm int feof(FILE *stream)

Kiểm tra end-of-file indicator cho Stream đã cho

4

Hàm int ferror(FILE *stream)

Kiểm tra error indicator cho Stream đã cho

5

Hàm int fflush(FILE *stream)

Flush bộ đệm đầu ra của một Stream

6

Hàm int fgetpos(FILE *stream, fpos_t *pos)

Lấy vị trí file hiện tại của Stream và ghi nó tới pos

7

Hàm FILE *fopen(const char *filename, const char *mode)

Mở tên file được trỏ tham số filename bởi sử dụng chế độ mode đã cho

8

Hàm size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)

Đọc dữ liệu từ Stream đã cho trong mảng được trỏ bởi ptr

9

Hàm FILE *freopen(const char *filename, const char *mode, FILE *stream)

Gắn kết một filename mới với Stream đã cho và cùng lúc đó đóng FILE cũ trong Stream

10

Hàm int fseek(FILE *stream, long int offset, int whence)

Thiết lập vị trí file của Stream tới offset đã cho. Tham số offset xác định số byte để tìm kiếm từ vị trí where đã cho

11

Hàm int fsetpos(FILE *stream, const fpos_t *pos)

Thiết lập vị trí file của stream đã cho tới vị trí đã cho. Tham số pos là một vị trí được cung cấp bởi hàm fgetpos

12

Hàm long int ftell(FILE *stream)

Trả về vị trí file hiện tại của Stream đã cho

13

Hàm size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

Ghi dữ liệu từ mảng được trỏ bởi ptr tới Stream đã cho

14

Hàm int remove(const char *filename)

Xóa filename đã cho để nó không thể truy cập được nữa

15

Hàm int rename(const char *old_filename, const char *new_filename)

Làm cho filename được tham chiếu tới, được thay đổi từ old_filename thành new_filename

16

Hàm void rewind(FILE *stream)

Thiết lập vị trí file tới phần đầu của file trong Stream đã cho

17

Hàm void setbuf(FILE *stream, char *buffer)

Định nghĩa cách một Stream nên được đệm (buffer)

18

Hàm int setvbuf(FILE *stream, char *buffer, int mode, size_t size)

Một hàm khác để xác định cách một Stream nên được đệm (buffer)

19

Hàm FILE *tmpfile(void)

Tạo file tạm thời trong chế độ wb+

20

Hàm char *tmpnam(char *str)

Tạo và trả về một filename tạm thời hợp lệ (chưa tồn tại trước khi tạo)

21

Hàm int fprintf(FILE *stream, const char *format, ...)

Gửi output đã được định dạng tới một Stream

22

Hàm int printf(const char *format, ...)

Gửi output đã được định dạng tới một stdout

23

Hàm int sprintf(char *str, const char *format, ...)

Gửi output đã được định dạng tới một chuỗi string

24

Hàm int vfprintf(FILE *stream, const char *format, va_list arg)

Gửi output đã được định dạng tới một stream bởi sử dụng một danh sách tham số

25

Hàm int vprintf(const char *format, va_list arg)

Gửi output đã được định dạng tới một stdout bởi sử dụng một danh sách tham số

26

Hàm int vsprintf(char *str, const char *format, va_list arg)

Gửi output đã được định dạng tới một chuỗi string bởi sử dụng một danh sách tham số

27

Hàm int fscanf(FILE *stream, const char *format, ...)

Đọc input đã được định dạng từ một Stream

28

Hàm int scanf(const char *format, ...)

Đọc input đã được định dạng từ stdin

29

Hàm int sscanf(const char *str, const char *format, ...)

Đọc input đã được định dạng từ một chuỗi string

30

Hàm int fgetc(FILE *stream)

Lấy ký tự kế tiếp (một unsigned char) từ Stream đã cho và tăng position indicator cho Stream đó

31

Hàm char *fgets(char *str, int n, FILE *stream)

Đọc một dòng từ Stream đã cho và lưu trữ nó vào trong chuỗi được trỏ bởi str. Nó dừng khi gặp bất cứ điều kiện nào sau: (n-1) ký tự đã được đọc, ký tự newline (dòng mới) được đọc hoặc bắt gặp end-of-file

32

Hàm int fputc(int char, FILE *stream)

Ghi một ký tự (một unsigned char) đã được xác định bởi tham số char tới Stream đã cho và tăng position indicator cho Stream

33

Hàm int fputs(const char *str, FILE *stream)

Ghi một chuỗi tới Stream đã xác định (không ghi ký tự null)

34

Hàm int getc(FILE *stream)

Lấy ký tự kế tiếp (một unsigned char) từ Stream đã cho và tăng position indicator cho Stream đó

35

Hàm int getchar(void)

Lấy một ký tự (một unsigned char) từ stdin

36

Hàm char *gets(char *str)

Đọc một dòng từ stdin và lưu trữ nó bên trong chuỗi được trỏ bởi str. Nó dừng khi bắt gặp end-of-file hoặc ký tự newline (dòng mới) được đọc

37

Hàm int putc(int char, FILE *stream)

Ghi một ký tự (một unsigned char) được xác định bởi tham số char tới Stream đã cho và tăng position indicator cho Stream đó

38

Hàm int putchar(int char)

Ghi một ký tự (một unsigned char) đã được xác định bởi tham số char tới stdout

39

Hàm int puts(const char *str)

Ghi một chuỗi str tới stdout (không ghi ký tự null). Một ký tự newline (dòng mới) được phụ thêm tới output

40

Hàm int ungetc(int char, FILE *stream)

Đẩy ký tự char (là một unsigned char) lên trên Stream đã cho để mà ký tự kế tiếp được đọc

41

Hàm void perror(const char *str)

In một thông điệp mô tả lỗi tới stderr. Đầu tiên thì chuỗi str được in được theo sau bởi một dấu hai chấm và sau đó là một space

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Các bài Thư viện C phổ biến khác tại VietJack:




Tài liệu giáo viên