发布时间 : 星期一 文章C语言文件操作常用函数详解更新完毕开始阅读
v1.0 可编辑可修改 fwrite:从以buffer为首地址的内存中读取count个块,每个块的长度为size
个字节,写入到fp所指向的文件中。
返回值:成功,返回读/写的块数;出错或文件尾,返回0 说明:
buffer: 指向要输入/输出数据块的首地址的指针 size: 读/写的数据块的大小(字节数) count:
要读/写的数据块的个数
fp: 要读/写的文件指针 示例: #include <> #include <>
typedef struct STUDENT {
char sNo[5]; char sName[20]; double score;
}STUDENT; void main() {
/* 只对单个的时候 */
6.2f6.2frewind函数
函数原型: void rewind(FILE *fp) 功能:重置文件位置指针到文件开头 返回值:无
6. fseek函数
函数原型: int fseek(FILE *fp,long offset,int whence) 5
v1.0 可编辑可修改 功能:文件随机定位函数,改变文件位置指针的位置。一般用于二进制文件。 返回值:成功,返回0;失败,返回非0值 Eg: fseek(fp,100L,0); fseek(fp,50L,1); fseek(fp,-10L,2);
第2个参数offset表示相对whence为基点的偏移字节数,要求是长整型数据,可以是正整数(向文件尾方向移动)、0(不移动)、负整数(向文件头方向移动)。 第3个参数可以用如下的宏替换:
文件开始 SEEK_SET 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END
7. ftell函数
函数原型: long ftell(FILE *fp)
功能:返回位置指针当前位置(用相对文件开头的位移量表示) 返回值:成功,返回当前位置指针位置(长整型);失败,返回-1L, 可以利用fseek和ftell函数实现求文件的元素个数。如下:
#include
int main() {
FILE* fp1 = fopen(\ if(NULL == fp1) {
cout << \ exit(0);
2 0
6
v1.0 可编辑可修改
}
char c = '\\0';
while((c = getchar()) != '#') { }
fputc(c, fp1);
fseek(fp1, 0L, 2); ferror函数 函数原型: int ferror(FILE *fp) 功能:测试文件是否出现错误 返回值:未出错,0;出错,非0 说明:
每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试 fopen打开文件时,ferror函数初值自动置为0
9. remove函数
函数原型: int remove(char* path) 功能:删除指定路径的文件 返回值:成功删除,0;否则,-1 举例:如下 #include <> void main() {
if(-1 == remove(\函数 函数原型: void clearerr(FILE *fp) 功能:使文件错误标志置为0
7
v1.0 可编辑可修改 返回值:无
说明:出错后,错误标志一直保留,直到对同一文件调clearerr(fp)或rewind或任何其它一个输入输出函数
举例:如下 #include <> int main(void) {
FILE *fp = fopen(\
系统自动打开和关闭三个标准文件:
getc(fp);
标准输入------------键盘 stdin 标准输出------------显示器 stdout 标准出错输出------显示器 stderr
8