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
}
文件指针是指向structFILE的指针(类型为struct
FILE*),是指向结构体的指针的其中一种。
FILE是C语言中默认用来表示文件信息的结构体,在stdio.h中有定义,具体内容和运行环境(平台)相关。当打开一个文件时,文件内容由库函数记录到一个FILE结构体中,而用户可以通过库函数返回的struct
FILE*类型的指针对文件进行间接 *** 作。
此外FILE结构体中含有文件的读写指针(LS误把这个当作文件指针了),用于指示文件的读写位置,一般是不直接访问的(通过fseek、ftell、rewind等读取或写入)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)