首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

C语言学习12.文件和IO(3)

C语言学习12.文件和IO(3)

文件的关闭

Fclose();
如果文件还没关闭就直接结束运行的程序,缓冲区内没有写入文件的数据就会丢失。所以文件使用后及时关闭。
文件关闭后,系统回收文件结构体变量,文件指针也不会指向该文件,此后也无法访问该文件。

文件输入:从文件中输入数据
文件输出:输出数据到文件
fscanf(文件指针,格式字符串,输入列表);
fprintf(文件指针,格式字符串,输出列表);
例如:
fscanf(fp,"%d%s,&i,s");

读写数据块函数调用的一般格式:
fread(buffer,size,count,fp);
fwrite(buffer,size,count,fp);
其中:
buffer 是一个指针,在fread函数中,他表示存放在输入数据的首地址;在fwrite函数中,他表示存放输出数据的首地址。
size 表示数据块的字节数
count 表示要读写的数据块块数
fp 表示文件指针

按字符读写
函数fgetc(),fputc();
Int fputs(int ch,FILE* fp);
ch是写入文件的字符,fp是FILE类型的文件指针变量。
fputc(‘A’,fp);
将指针变量fp指向的文件当前位置写入一个字符常量’A’,并使文件的位置指针下移一个字节。如果写入成功,函数返回该字符,否则返回文件结束符EOF。

按字符串读写的函数fgets(),fputs();
‘\0’不会写入文件中
按格式要求读写的函数fprintf(),fscanf();
按数据块读写的函数fread(),fwrite();

ferror函数:
ferror(FLIE*);
功能:检查文件是否在用各输入输出函数进行读写时是否出错。返回0表示没出错,否则表示出错。
clearrr(FLIE *);
功能:用于清除错误标志和文件结束标志,使他们为0值

标准I/O和文件I/O混合使用
标准输入,标准输出和标准错误时三个特殊的文件,这三个文件在我们程序开始运行时系统会自动打开它们,对应的文件指针stdin,stdout,stderr这三个常量(在stdio.h文件中使用的),我们在程序中可以直接使用他们,用完后也不需要显式关闭,系统会自动关闭它们。

主函数参数用于接收命令行参数,如果不需要改功能,主函数形参可以留空
Int main(int argc,char* argv[])
主函数形参的意义:
Argc:argument count命令行参数个数
Argv:argument vector命令行参数构成的字符串数组,每个命令行参数就是它的一个元素,第0个元素为命令本身

在程序外部向程序内部传递数据有三种方法:
1.标准输入
2.文件输入
3.命令行参数

每个文件末尾都有一个文件结束符,它不占实际存储空间
文件结束符:EOF,其值为-1,它为文件结束标志
只有将EOF读出,feof函数才认为到了文件末尾。
调用格式:
feof(文件指针):
功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0.
返回列表