C Primer Plus 第10三章 学习总结…2015.5.8
C Primer Plus 第十三章 学习总结……2015.5.8
第十三章:文件的输入/输出
这一章学习起来,很迷惑,和上面几章并不太连贯,介绍了好多
用于文件输入输出的函数,就像高中学习数学一样,一下子出现好多
公式,虽然每个公式都知道是干什么的、怎么用,但就不一定把习题
做出来了。把本章看完后,只是大致了解了文件的各种输出输入,打
开等方式。所以还需要进一步的了解,实践应用。
<重定向运算符, echo_eof<words 该运算符把words文件与
stdin流关联起来,将该文件words内容引导至echo_eof程序中。
echo_eof将键盘输入发送给一个名为mywords 文件中
echo_eof>mywords
重定向运算符可将一个可执行程序与一个数据文件连接起来建立
新文件。
文件视图:文体视图 二进制视图
标准I/O两个优势:1、它包含很多专用函数 2、对输入输出进行缓存
exit()函数关闭所有打开的文件并终止程序,通常,正常终止返回
0,非正常返回非零。
递归中 exit()依然会终止程序。 return 仅仅终止本级程序,把
控制权移交给上一层。
fopen() 打开文件。 第一个参数是文件指针指向的文件名,第二
参数是打开的模式 FILE*fp; fopen(fp,"r");成功返回指针,失
败返回NULL。
fclose()关闭文件,fclose(fp);成功返回0,失败返回NULL。
getc()函数, putc()函数
ch=getchar();从标准输入中获取一个字符。
getc(ch,fp);从指针指向的文件中获取一个字符
putc(ch,fp);把字符写入到指针指向的文件中
fprintf() fscanf()函数和printf scanf一样只是多个参数
是对文件进行输入输出 第一个参数为文件指针
fgets()函数(从文件中获得字符串) 三个参数,第一个参数存储输
入地址 第二个参数整数,字符串最大长度;第三个参数 文件指针
,指向要读取的文件
fputs() (将字符串放到文件中)两个参数,第一个参数输出字符串
地址,第二个参数文件指针,把字符串写入到指定的文件中
随机存取
fseek()(定位到文件内在那个位置)三个参数:第一个参数文件指
针 指向被搜索的文件;第二个参数:偏移量表示从起点开始要移动
的距离 long数据类型 正 前移 负 后移 0 保持不动;第三个参数
是起始点在哪 模式 SEEK_SET文件开始处 SEEK_CUP当前位置
SEEK_END 文件结尾。 如果一切正常返回0 ,错误返回-1;
ftell()参数文件指针,返回long数据,通过返回距文件开始处的字
节数目来确定当前位置。
fwrite() double enrnings[10];fwrite(enrnings,sizeof
(double),10,fp); 将数组中数据写入文件中,数据分为10块,每块
大小double
fread() double enrnings[10];fread(enrnings,sizeof
(double),10,fp); 调用 10个double 数值复制到数组中。
第十三章:文件的输入/输出
这一章学习起来,很迷惑,和上面几章并不太连贯,介绍了好多
用于文件输入输出的函数,就像高中学习数学一样,一下子出现好多
公式,虽然每个公式都知道是干什么的、怎么用,但就不一定把习题
做出来了。把本章看完后,只是大致了解了文件的各种输出输入,打
开等方式。所以还需要进一步的了解,实践应用。
<重定向运算符, echo_eof<words 该运算符把words文件与
stdin流关联起来,将该文件words内容引导至echo_eof程序中。
echo_eof将键盘输入发送给一个名为mywords 文件中
echo_eof>mywords
重定向运算符可将一个可执行程序与一个数据文件连接起来建立
新文件。
文件视图:文体视图 二进制视图
标准I/O两个优势:1、它包含很多专用函数 2、对输入输出进行缓存
exit()函数关闭所有打开的文件并终止程序,通常,正常终止返回
0,非正常返回非零。
递归中 exit()依然会终止程序。 return 仅仅终止本级程序,把
控制权移交给上一层。
fopen() 打开文件。 第一个参数是文件指针指向的文件名,第二
参数是打开的模式 FILE*fp; fopen(fp,"r");成功返回指针,失
败返回NULL。
fclose()关闭文件,fclose(fp);成功返回0,失败返回NULL。
getc()函数, putc()函数
ch=getchar();从标准输入中获取一个字符。
getc(ch,fp);从指针指向的文件中获取一个字符
putc(ch,fp);把字符写入到指针指向的文件中
fprintf() fscanf()函数和printf scanf一样只是多个参数
是对文件进行输入输出 第一个参数为文件指针
fgets()函数(从文件中获得字符串) 三个参数,第一个参数存储输
入地址 第二个参数整数,字符串最大长度;第三个参数 文件指针
,指向要读取的文件
fputs() (将字符串放到文件中)两个参数,第一个参数输出字符串
地址,第二个参数文件指针,把字符串写入到指定的文件中
随机存取
fseek()(定位到文件内在那个位置)三个参数:第一个参数文件指
针 指向被搜索的文件;第二个参数:偏移量表示从起点开始要移动
的距离 long数据类型 正 前移 负 后移 0 保持不动;第三个参数
是起始点在哪 模式 SEEK_SET文件开始处 SEEK_CUP当前位置
SEEK_END 文件结尾。 如果一切正常返回0 ,错误返回-1;
ftell()参数文件指针,返回long数据,通过返回距文件开始处的字
节数目来确定当前位置。
fwrite() double enrnings[10];fwrite(enrnings,sizeof
(double),10,fp); 将数组中数据写入文件中,数据分为10块,每块
大小double
fread() double enrnings[10];fread(enrnings,sizeof
(double),10,fp); 调用 10个double 数值复制到数组中。