结构和文件有什么区别?

时间:2017-04-29 17:31:45

标签: c

我在大学学习C已经8个月了,也在家里学习,我想提高自己。目前,我正处于“文件”主题。结构和文件之间有什么区别?我们在结构中创建类似的东西吗?我们是否在结构中存储数据?请注意我对结构有所了解。

1 个答案:

答案 0 :(得分:2)

在C中,structs是一种特殊的数据类型,由一组可由单个指针引用的变量组成。

FILE是一种特殊的struct,它通常用作指向磁盘上文件对象的指针。

FILE *fp;
char *mode = "r";

fp = fopen("myfile.txt", mode);

if (fp == NULL) {
  fprintf(stderr, "Can't open input file!\n");
  exit(1);
}

你可以看到它在stdio.h中定义,根据你的编译器,它可能看起来像这样。

typedef struct _iobuf
{
    char*   _ptr;
    int _cnt;
    char*   _base;
    int _flag;
    int _file;
    int _charbuf;
    int _bufsiz;
    char*   _tmpfname;
} FILE;