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);
else
printf("Cannotfindfiletest_file.txt ");
return0;
}