FILE *fp 是什么意思

作者&投稿:宗政媚 (若有异议请与网页底部的电邮联系)
C语言中FILE *fp是什么意思,文件流又是什么~

FILE 是系统定义的一种结构类型的名称。
FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。
文件流-- 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。

扩展资料:
在程序运行时,常常需要将一些数据(运行的最终结果或中间数据)输出到磁盘上存放起来,以后需要时再从磁盘中输入到计算机的内存。这就要用到磁盘文件。
C语言将文件看作是一个字符(字节)的序列,即一个一个字符(字节)的数据顺序组成。根据数据的组成形式,可分为ASCII文件和二进制文件。ASCII文件又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式按原样输出到磁盘上存放。
参考资料来源:百度百科-C文件

FILE是在C标准库中(stdio.h)中定义的一个结构体,通常用指针的方式保存在内存中,其内容描述了一个文件,或者说”流“更恰当。

它的具体内容在不同的操作系统或标准库的实现中各不相同,如在TC2.0中(定义参考自http://www.cnblogs.com/haore147/p/3648395.html,没有考证过)
typedef struct { short level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ short bsize; /* Buffer size */ unsigned char *buffer; /* Data transfer buffer */ unsigned char *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */} FILE; /* This is the FILE object */
因此,标准库中提供了通用的函数来读取和写入流,如fopen,fclose等等
FILE指针的使用在C中很广泛,如一些常用的输入/出流就是FILE*的类型,如
stdin、stdout、stderr等
当然,C++中用类进行了封装,更加具体和方便。

综上,FILE*fp就是声明了一个类型为FILE的,名为fp的指针(fp指file pointer, 文件指针),用于保存流信息
其用法如
#include int main(){ FILE *fp; char str_buf[11]; fp = fopen("test_file.txt", "r"); //这里要确保test_file.txt的存在 if (fp) fgets(str_buf, 10, fp); else printf("Cannot find file test_file.txt
"); return 0;}

FILE *fp;
FILE 是变量类型,实际上是C语言定义的标准数据结构,用于文件。
FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象。

fp=fopen("yssysj.txt","r"); fopen标准函数,打开磁盘文件yssysj.txt, 用于读,送返指针,指向FILE类型对象。

fscanf 用于从文件读入数据,scanf 从键盘读入数据。
书写格式上,fscanf 多一个参数,就是 fp,其它两者一样:
fscanf(fp,"%f",&x[i][j]);
scanf("%f",&x[i][j]);
是否可以解决您的问题?


潍坊市19674945658: c语言中的FILE*fp通常是什么意思? -
祖沸安治: 定义1个文件型指针变量,指针变量名字分别叫fp 定义后fp是指向FILE类型结构体的指针. 可以使他指向某个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件 大哥怎么又是你啊,呵呵

潍坊市19674945658: FILE *fp 是什么意思 -
祖沸安治: FILE *fp; FILE 是变量类型,实际上是C语言定义的标准数据结构,用于文件. FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象. fp=fopen("yssysj.txt","r"); fopen标准函数,打开磁盘文件yssysj.txt, 用于读,送返指针,指向FILE类型对象. fscanf 用于从文件读入数据,scanf 从键盘读入数据. 书写格式上,fscanf 多一个参数,就是 fp,其它两者一样: fscanf(fp,"%f",&x[i][j]); scanf("%f",&x[i][j]); 是否可以解决您的问题?

潍坊市19674945658: FILE *fp请用白话解释一下它是什么意思? -
祖沸安治: 白话啊.就是非程序员用于咯 我需要一个文件,请把这个文件放在一个任意位置的保险柜里面,然后你把保险柜的地址告诉我 我需要一个文件(FILE),请把这个文件放在一个任意位置的保险柜里面 *fp ,然后你把保险柜的地址告诉我 fp

潍坊市19674945658: FILE * fp -
祖沸安治: 三种写法一样,效果一样. 但最好写 FILE *fp; 比较明确.FILE 是结构类型,*fp 是指针. 若写 FILE* fp, fp2; 编译器 并不会理解成 fp 和 fp2 都是指针,只会理解成 fp 是指针,fp2不是指针. 例如: FILE* fp,fp2; printf("%d %d", sizeof(fp),sizeof(fp2)); 输出 4 32 正如: char* c,c2; printf("%d %d", sizeof(c),sizeof(c2)); 输出 4 1

潍坊市19674945658: c语言,文件指针 -
祖沸安治: fp 是用来指向 FILE 结构类型的一个指针, fopen 执行后,fp 将指向一个 FILE 结构,这个结构代表了这个文件.

潍坊市19674945658: FILE *fp显示fp是未声明标识符,怎么回事 -
祖沸安治: fp是指向FILE结构的指针变量头文件:中定义

潍坊市19674945658: 由"FILE *fp"定义的标识符fp 是一个 - -- - 其中"FILe"是在-----头文件中定义 -
祖沸安治: fp是指向FILE结构的指针变量 头文件:<stdio.h>中定义

潍坊市19674945658: FILE *fpQuestion, *fpAnswer; 是什么指针吗 -
祖沸安治: 文件指针

潍坊市19674945658: FILE* fp = ::fopen(g - file, "rb"); -
祖沸安治: ::是域运算符,::前面是空的,表示是全局域,也就是说::后面的这个函数不属性任何类或者命名空间.

潍坊市19674945658: c++中,FILE*fp的fp有特殊意义吗?或者说,可不可以把fp替换成fh之类的? -
祖沸安治: fp,文件指针File Pointer的首字母,比较清楚,其实没有特殊规定,换成 FILE *p,*s都是可以的.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网