一、意思
FILE *fp 是声明,声明fp是指针,用来指向FILE类型的对象。
*fp是指向文件结构体的指针变量,通过fp可找到存放某个文件信息的结构变量,根据这个结构变量的信息找到该文件,实施对文件的 *** 作。fp通常被成为一个指向文件的指针。
二、FILE *fp其它参数
"rt" 只读打开一个文本文件蚂链,只允许读数据
"wt" 只写打开或建立一个文本文件,只充读写数据
"at"追加打开一个文件文件,并在文件未层写数据
"rb"只读打开一个二进制文件,只充许读数据
"wb"只写打开或建一个二制文件,只充许写数据
"ab"追加打开一个二进制文件,并在示尾写数据
"rt+"读写打开或建立一个文本文件,充读读写
"wt+"读写打开或建立一个文本文件,允许读写
"at+"读写打开一个文本文件,允许读,或在文件未追如物手加数据
"rb+"读写打开一个二进制文件,允许读和写
"wb+" 读写打开或建立一个二进制文件,允许读和写
"ab+"读写打开一个二进制文件,允许读,或在文件未追加数据
三、示例
if((fp=fopen("渣嫌path","r"))==NULL) {
printf("Open file ERROR")
}
扩展资料
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:目标文件指针。
首先这四个源前函数都是从文件或者输入设备读取数据,它们之间的主要区别如下:
一、fgetc
这个函数主要用于从文件或者输入设备逐个读取字符并通过返回值返回。一般如果是从文件读取,这个文件得提前以文本模式打开。
二、fgets
这个函数主要用于从文件或者输入设备读取一行字符,如果从文件读取也要求以文本模式打开文件。这个函数相对gets要安全,因为它可以通过第二个参数指定最大能读取的字符数,防止溢出。同时这个函数会读入换行符,它一般可以和fputs函数配合使用,fputs函数输出不会自动换行。fgets也可以从键盘输入字符,通过第三个参数指定读取位置,stdin表雹和清示从键盘,文件指针表示从文件。
三、fscanf
这个函数从文件中以格式化形式读取,也是要以文本形式打开文件,具体的用法和scanf一样。文件得是文本形式,二进制形式一般是会读取出错。
四、fread
fread函数主要用于以二进制模式从文件中读取数据,它一般和fwrite函数配合使用。主要用于结构体类型变量的读取。它要求文件先以二进制模式打开,如果不指定二进制模式在Windows系统可能出错,因为Windows的换行是两个字符,是换行和回车两个字符转化而来棚做。所以使用这个函数最好以二进制打开。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)