Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ชนิดข้อมูล FILE ใน C คืออะไร


ใน C ใช้ไฟล์โดยใช้ pointer ประเภท FILE ดังนั้น FILE จึงเป็น datatype เรียกว่า Opaque datatype การ implement ถูกซ่อนไว้ นิยามของ FILE เฉพาะระบบ นี่คือนิยาม FILE ในระบบ Ubuntu:

นิยาม FILE

struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; _IO_off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; ... }; struct _IO_FILE_complete { struct _IO_FILE _file; ... };

ตัวอย่างใช้ FILE:

Text file (/tmp/test.txt): This is testing for fprintf... This is testing for fputs...

ตัวอย่าง

#include <stdio.h> main() { FILE *fp; char buff[255]; fp = fopen("/tmp/test.txt", "r"); fscanf(fp, "%s", buff); printf("1 : %s\n", buff); fgets(buff, 255, (FILE*)fp); printf("2: %s\n", buff); fgets(buff, 255, (FILE*)fp); printf("3: %s\n", buff); fclose(fp); }

ผลลัพธ์

1 : This 2: is testing for fprintf... 3: This is testing for fputs...