Thư viện các hàm trong C ppt

tailieuhay_2089
tailieuhay_2089(15476 tài liệu)
(5 người theo dõi)
Lượt xem 8
1
Tải xuống 2,000₫
(Lịch sử tải xuống)
Số trang: 57 | Loại file: PDF
0

Gửi bình luận

Bình luận

Thông tin tài liệu

Ngày đăng: 02/04/2014, 06:20

Mô tả: Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 1 Thư Viện C Hi! Đây là Thư viện các hàm trong C căn bản mà mình sưu tầm được! nó rất hay và hữu ích đó các bạn. Hi vọng bài viết này sẽ giúp ích cho các bạn trong việc học lập trình C. Thân! Mr.Vũ Hiếu. 1. In/Out Danh sách các hàm sử dụng In/Out 1.clearerr 2.fclose 3.feof 4.ferror 5.fflush 6.fgetc 7.fgetpos 8.fgets 9.fopen 10.fprintf 11.fputc 12.fputs 13.fread 14.freopen 15.fscanf 16.fseek 17.fsetpos 18.ftell 19.fwrite 20.getc 21.getchar 22.gets Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 2 23.perror 24.printf 25.putc 26.putchar 27.puts 28.remove 29.rename 30.rewind 31.scanf 32.setbuf 33.setvbuf 34.sprintf 35.sscanf 36.tmpfile 37.tmpnam 38.ungetc 39.vprintf, vfprintf, and vsprintf Hàm clearerr Khai báo : Trích dẫn: void clearerr(FILE *stream); Xoá tín hiệu lỗi gây ra bởi hệ thống khi thao tác trên tập tin gặp lỗi . Example Code: #include <stdio.h> int main(void) { FILE *fp; char ch; Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 3 /* mo tep tin de ghi */ fp = fopen("DUMMY.FIL", "w"); /*gay nen mot loi bang cach doc file*/ ch = fgetc(fp); printf("%c\n",ch); if (ferror(fp)) { /* xuat ra man hinh thong bao loi */ printf("Error reading from DUMMY.FIL\n"); /* xoa tin hieu loi */ clearerr(fp); } fclose(fp); return 0; } Hàm fclose Khai báo : Trích dẫn: int fclose(FILE *stream); Đóng tệp lại sau khi thao tác , stream là tên con trỏ tệp . Khi thành công hàm trả về 0 , trái lại trả về EOF ( hằng chỉ thị kết thúc tệp ) Example Code: #include <string.h> #include <stdio.h> int main(void) { FILE *fp; char buf[11] = "0123456789"; fp = fopen("DUMMY.FIL", "w"); fwrite(&buf, strlen(buf), 1, fp); /* dong tep */ fclose(fp); return 0; } Hàm feof Khai báo : Trích dẫn: Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 4 int feof(FILE *stream); Hàm dùng để kiểm tra con trỏ tệp có đến cuối tệp hay chưa . Nếu nó đến cuối tệp thì hàm trả về giá trị khác 0 , ngược lại trả về 0 Example Code: #include <stdio.h> int main(void) { FILE *stream; /* mo mot tep de doc */ stream = fopen("DUMMY.FIL", "r"); /* doc mot ky tu tu tep */ fgetc(stream); /*kiem tra xem cuoi tep hay chua */ if (feof(stream)) printf("We have reached end-of-file\n"); /* dong tep*/ fclose(stream); return 0; } Hàm ferror Khai báo : Trích dẫn: int ferror(FILE *stream); Kiểm tra lỗi thao tác trên tệp . Hàm trả về giá trị khác 0 nếu có lỗi , ngược lại trả về 0 . Example : Code: #include <stdio.h> int main(void) { FILE *stream; /* mo tep de ghi */ stream = fopen("DUMMY.FIL", "w"); /* gay ra mot loi bang cach doc*/ (void) getc(stream); if (ferror(stream)) /* kiem tra loi tren tep*/ { /* ghi loi ra man hinh*/ printf("Error reading from DUMMY.FIL\n"); Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 5 /* xoa tin hieu loi*/ clearerr(stream); } fclose(stream); return 0; } Hàm fflush Khai báo : Trích dẫn: int fflush(FILE *stream); Hàm dùng làm sạch vùng đệm của tệp . Nếu thành công hàm cho giá trị 0 , trái lại hàm trả về EOF Example Code: #include <string.h> #include <stdio.h> #include <conio.h> #include <io.h> void flush(FILE *stream); int main(void) { FILE *stream; char msg[] = "This is a test"; /* tao 1 tep */ stream = fopen("DUMMY.FIL", "w"); /*ghi mot vai du lieu len tep */ fwrite(msg, strlen(msg), 1, stream); clrscr(); printf("Press any key to flush DUMMY.FIL:"); getch(); flush(stream); printf("\nFile was flushed, Press any key to quit:"); getch(); return 0; } void flush(FILE *stream) { int duphandle; /* lam sach vung dem */ fflush(stream); Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 6 duphandle = dup(fileno(stream)); close(duphandle); } Hàm fgetc Khai báo : Trích dẫn: int fgetc(FILE *stream); Hàm dùng lấy 1 ký tự từ tệp do con trỏ tệp stream trỏ đến . Nếu thành công hàm trả về mã ASCII của ký tự đọc được . Nếu gặp lỗi hay gặp kết thúc tệp thì hàm trả về EOF . Example Code: #include <string.h> #include <stdio.h> #include <conio.h> int main(void) { FILE *stream; char string[] = "This is a test"; char ch; /* mo tep de ghi va doc */ stream = fopen("DUMMY.FIL", "w+"); /* ghi len tep mot chuoi */ fwrite(string, strlen(string), 1, stream); /* dat con tro tep len dau tep */ fseek(stream, 0, SEEK_SET); do { /* doc mot ky tu tu tep */ ch = fgetc(stream); /* in ra man hinh ky tu doc duoc */ putch(ch); } while (ch != EOF); fclose(stream); return 0; } Hàm fgetpos Khai báo : Trích dẫn: Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 7 int fgetpos( FILE *stream,fpos_t *pos ) Hàm dùng lấy vị trí con trỏ tệp ( ở byte thứ mấy ) lưu vào trong biến pos . Nếu thành công hàm trả về 0 , ngược lại hàm trả về giá trị khác 0 . Example Code: #include <stdlib.h> #include <stdio.h> void showpos(FILE *stream); int main(void) { FILE *stream; fpos_t filepos; /* mo file de doc ghi */ stream = fopen("DUMMY.FIL", "w+"); /* luu lai vi tri con tro tep hien thoi */ fgetpos(stream, &filepos); /* ghi du lieu len tep */ fprintf(stream, "This is a test"); /* in ra man hinh vi tri con tro hien thoi */ showpos(stream); /* dat lai vi tri con tro tep */ if (fsetpos(stream, &filepos) == 0) showpos(stream); else { fprintf(stderr, "Error setting file pointer.\n"); exit(1); } /* dong tep*/ fclose(stream); return 0; } void showpos(FILE *stream) { fpos_t pos; /* in ra man hinh vi tri con tro tep hien thoi */ fgetpos(stream, &pos); printf("File position: %ld\n", pos); } Hàm fgets Khai báo : Trích dẫn: Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 8 char *fgets(char *s,int n,FILE *fp); Hàm dùng để đọc một chuỗi ký tự dài n-1 ký tự từ tệp fp vào chuỗi s . Việc đọc kết thúc khi đã đọc đủ n-1 ký tự hay gặp dấu xuống dòng hay gặp kết thúc tệp . Sau khi đọc , chuỗi s sẽ được tự động thêm vào ký tự NULL vào cuối chuỗi . Hàm trả về điạ chỉ chuỗi s nếu thành công , trái lại trả về NULL . Example Code: #include <string.h> #include <stdio.h> int main(void) { FILE *stream; char string[] = "This is a test"; char msg[20]; /* mo tep de doc ghi */ stream = fopen("DUMMY.FIL", "w+"); /* ghi mot chuoi vao tep */ fwrite(string, strlen(string), 1, stream); /* dat con tro tep len dau tep */ fseek(stream, 0, SEEK_SET); /* doc mot chuoi tu tep */ fgets(msg, strlen(string)+1, stream); /* in chuoi ra man hinh */ printf("%s", msg); fclose(stream); return 0; } Hàm fopen Khai báo : Trích dẫn: FILE *fopen(char *filename,char *type ); Hàm dùng để mở tệp . Với filename là chuỗi chứa tên tệp cần mở ( bao gồm cả đường dẫn cụ thể ) . Lưu ý một chút với filename này . Nếu bạn nhập chuỗi từ bàn phím thì khác với bạn đánh sẵn nó trong code của bạn . Ví dụ tệp ta cần mở tên là abc.jpg nằm ở ổ C . Đối với đánh tên tệp từ bàn phím thì ta đánh như sau : C:\abc.jpg . Nhưng nếu ta soạn sẵn trong code thì ta soạn như sau : C:\\abc.jpg ( tức là thêm 1 gạch \ ) . Kiểu mở tệp có rất nhiều cách nhưng chung quy ta có các trường hợp sau cho kiểu văn bản : "r" : đọc "w" : ghi "r+" hay "w+" : đọc và ghi "a" : ghi bổ sung "a+" : đọc ghi bổ sung Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 9 Đối với mở file nhị phân bạn chỉ cần thêm chữ b vào sau các chuỗi trên . Nếu việc mở tệp thành công hàm cho địa chỉ con trỏ tệp , trái lại hàm trả về NULL . Example Code: #include <stdio.h> int main(void) { FILE *in, *out; if ((in = fopen("\\AUTOEXEC.BAT", "r")) == NULL) { fprintf(stderr, "Cannot open input file.\n"); return 1; } if ((out = fopen("\\AUTOEXEC.BAK", "w")) == NULL) { fprintf(stderr, "Cannot open output file.\n"); return 1; } while (!feof(in)) fputc(fgetc(in), out); fclose(in); fclose(out); return 0; } Hàm fprintf Khai báo : Trích dẫn: int fprintf(FILE *fp,char *s, ); Hàm này chức năng y chang như hàm printf nhưng thay vì ghi ra màn hình thì nó ghi lên tệp fp . Nếu thành công hàm trả về số byte ghi được lên tệp , trái lại hàm trả về EOF . Example Code: #include <stdio.h> int main(void) { FILE *stream; int i = 100; char c = 'C'; float f = 1.234; Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 10 /* mo tep de doc ghi */ stream = fopen("DUMMY.FIL", "w+"); /* ghi du lieu len tep */ fprintf(stream, "%d %c %f", i, c, f); /* dong tep */ fclose(stream); return 0; } Hàm fputc Khai báo : Trích dẫn: int fputc(int ch,FILE *fp); Hàm ghi một ký tự có mã ASCII là ch lên tệp fp . khi thành công trả về mã ASCII của ký tự được ghi , trái lại hàm cho EOF . Example Code: #include <stdio.h> int main(void) { char msg[] = "Hello world"; int i = 0; while (msg[i]) { fputc(msg[i], stdout); i++; } return 0; } Hàm fputs Khai báo : Trích dẫn: int fputs(char *s,FILE *fp); Hàm ghi lên tệp fp chuỗi s . Chú ý rằng chuỗi s nên kết thúc bằng ký tự NULL , nếu ko việc ghi lên có thể bị sai lệch . Ký tự NULL này để chỉ ra vị trí kết thúc tệp cho rõ ràng chứ nó ko được ghi lên tệp . Hàm trả về ký tự cuối cùng được ghi lên tệp nếu thành công , trái lại hàm cho EOF . Example Code: . Thö Vieän C Y!M: Information.Technology@yahoo.com.vn Mr.Vũ Kim Hiếu 1 Thư Viện C Hi! Đây là Thư viện c c hàm trong C căn bản mà mình sưu tầm đư c! nó rất hay và hữu ích đó c c bạn. Hi. giúp ích cho c c bạn trong vi c h c lập trình C. Thân! Mr.Vũ Hiếu. 1. In/Out Danh sách c c hàm sử dụng In/Out 1.clearerr 2.fclose 3.feof 4.ferror 5.fflush 6.fgetc 7.fgetpos. thì ta soạn như sau : C: \abc.jpg ( t c là thêm 1 gạch ) . Kiểu mở tệp c rất nhiều c ch nhưng chung quy ta c c c trường hợp sau cho kiểu văn bản : "r" : đ c "w" : ghi

— Xem thêm —

Xem thêm: Thư viện các hàm trong C ppt, Thư viện các hàm trong C ppt, Thư viện các hàm trong C ppt

Lên đầu trang
Đăng ký

Generate time = 0.314394950867 s. Memory usage = 17.56 MB