要操作文件,首先得打开文件吧,fopen函数就是打开文件的,函数内部动态生成一个FILE struct,然后和某磁盘文件挂钩,返回其地址,不需要你自己操作FILE struct
如果非要不调用已有的文件操作库函数打开文件,必须知道这个编译器操作FILE struct的相关细节,这是vc++的 FILE结构
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
要和一个文件关联,要了解这么多字段的细节,还涉及到底层的物理磁盘读写,而且不同的编译器实现可能是不一样的,所以自己操作FILE struct实际上就是自己写一套文件操作函数,所以说不现实。既然不现实,那就用库函数,那么看看你这个操作:
FILE file_test;
FILE* fp=&file_test;
fp=fopen(.....); //fp指向另外一个地方了,file_test多余了
温馨提示:答案为网友推荐,仅供参考