stdio.h trong C (chi tiết nhất)
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 và _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, và 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, và 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 |
Đó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 |
Kiểm tra end-of-file indicator cho Stream đã cho |
4 |
Kiểm tra error indicator cho Stream đã cho |
5 |
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 |
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 |
Tạo file tạm thời trong chế độ wb+ |
20 |
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 |
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 |
Lấy ký tự kế tiếp (một unsigned char) từ Stream đã cho và tăng position indicator cho Stream đó |
35 |
Lấy một ký tự (một unsigned char) từ stdin |
36 |
Đọ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 |
Ghi một ký tự (một unsigned char) đã được xác định bởi tham số char tới stdout |
39 |
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ác bài Thư viện C phổ biến khác tại VietJack: