文件管理 · 2024年10月16日

设文件指针fp已定义|C++中 FILE*fp 是什么意思

1. c语言定义文件指针时(FILE *fp)一定要写*fp吗、可以换成别的字母不

这个fp这个标识符是可以换的。。。只不过一般情况下,书上,老师都是这么干的。但是*一定要留着,*是类型的一部分,是FILE*的一部分,表示文件指针,这个是不能变的。如果你要写一个既要文件输入又要文件输出的功能,肯定要两个文件指针,不能两个都定义成fp啊,这个随便定义的。

2. 设fp是指向某文件的文件指针,若函数fclose(fp)操作不成功,返回值是_________。

选择【C.EOF】fclose正常完成关闭文件操作时,fclose函数返回值为0,否则返回EOF。在程序结束之前应关闭所有文件,这样做的目的是防止因为没有关闭文件而造成的数据流失。

3. C语言中FILE*fp是什么意思

FILE 是系统定义的一种结构类型的名称。

FILE *fp; 变量类型声明。声明 fp 是 FILE型指针,用于指向FILE类型 (文件结构)。

文件流– 排成一队,有先后次序的 输入(或输出)一串数据,驻留并通过 输入输出缓冲区,进出程序。如同水流般地流入或流出。它来自文件或写入文件。

(3)设文件指针fp已定义扩展阅读:

FILE *fp的替换用法:

fp=fopen("test.dat", "w"); /*建立一个文字文件只写*/

fclose(fp); /*关闭文件*/

fwrite(const void*buffer,size_t size,size_t count,FILE*stream);

1、buffer:是一个指针,对fwrite来说,是要输出数据的地址。

2、size:要写入的字节数;

3、count:要进行写入size字节的数据项的个数;

4、stream:目标文件指针。

4. 118、若fp为文件指针,且文件已正确打开,以下语句的输出结果为 B 什么意思啊

fseek ( fp, 0, SEEK_END );找出文件结尾(SEEK_END),并用fp指向它i = ftell ( fp );计算fp指向的字节单元在文件中相对文件头的偏移量,返回给i,结尾相对于开头的偏移量,当然就是文件的长度,默认以字节为单位

5. C++中 FILE*fp 是什么意思

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

它的具体内容在不同的操作系统或标准库的实现中各不相同,如在TC2.0中(定义参考自http://www.cnblogs.com/haore147/p/3648395.html,没有考证过)

typedefstruct{shortlevel;/*fill/emptylevelofbuffer*/unsignedflags;/*Filestatusflags*/charfd;/*Filedescriptor*/unsignedcharhold;/*Ungetccharifnobuffer*/shortbsize;/*Buffersize*/unsignedchar*buffer;/*Datatransferbuffer*/unsignedchar*curp;/*Currentactivepointer*/unsignedistemp;/*Temporaryfileindicator*/shorttoken;/*Usedforvaliditychecking*/}FILE;/*ThisistheFILEobject*/

因此,标准库中提供了通用的函数来读取和写入流,如fopen,fclose等等

FILE指针的使用在C中很广泛,如一些常用的输入/出流就是FILE*的类型,如

stdin、stdout、stderr等

当然,C++中用类进行了封装,更加具体和方便。

综上,FILE*fp就是声明了一个类型为FILE的,名为fp的指针(fp指file pointer, 文件指针),用于保存流信息

其用法如

#include<stdio.h>intmain(){FILE*fp;charstr_buf[11];fp=fopen("test_file.txt","r");//这里要确保test_file.txt的存在if(fp)fgets(str_buf,10,fp);elseprintf("Cannotfindfiletest_file.txt");return0;}