如何定义指向文件的指针

如何定义指向文件的指针,第1张

指向文件指针也就是文件指针,可以用FILE来定义一个文件指针。格式如下:

FILE *文件指针

FILE:文件缓冲区的类型名,必须大写

文件指针:指向文件缓冲区的指针

例如: FILE *fp // 定义一个文件指针fp

注:使用文件指针的时候,必须将头文件#include<stdio.h>包含进源文件中。

文件指针就是对文件的 *** 作,指向文件的指针和文件名没什么关系,但是获取指向文件的指针需要包含文件名的绝对路径做参数并用fopen等文件 *** 作函数来获得,比如文件名叫a.txt,但是文件指针需要使用的是绝对路径:D:/a.txt,使用 fp= fopen("D:/a.txt","r")

下面的代码你可以看看,我已经注释了,可能对你有帮助,祝你好运!

#include <stdio.h>

#include <stdlib.h>

int main()

{

int ch

FILE* fp //定义文件指针

char fname[50]//用于存放文件名

printf("输入文件名:")

scanf("%s",fname)

fp=fopen(fname,"r")//只供读取

if(fp==NULL) //如果失败了

{

printf("错误!")

exit(1)//中止程序

}

//getc()用于在打开文件中获取一个字符

while((ch=getc(fp))!=EOF)

putchar(ch)

fclose(fp)//关闭文件

return 0

}

文件指针是指向struct

FILE的指针(类型为struct

FILE*),是指向结构体的指针的其中一种。

FILE是C语言中默认用来表示文件信息的结构体,在stdio.h中有定义,具体内容和运行环境(平台)相关。当打开一个文件时,文件内容由库函数记录到一个FILE结构体中,而用户可以通过库函数返回的struct

FILE*类型的指针对文件进行间接 *** 作。

此外FILE结构体中含有文件的读写指针(LS误把这个当作文件指针了),用于指示文件的读写位置,一般是不直接访问的(通过fseek、ftell、rewind等读取或写入)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12054740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存