还剩3页未读,继续阅读
文本内容:
14第章文件第一单元学习指南本章教学目标掌握文件的打开与关闭、文件的创建,以及如何通过库函数对文件进行读出和写入操作
1.学会编写中低难度的文件应用程序,并能上机调试运行
2.学习方法建议.仔细阅读本章示例程序,正确理解每条语句的功能;着重理解文件的打开方式、如何创建与读写1文本文件、如何创建与读写二进制文件;理解文本打开方式与二进制打开方式的区别着手编写一般难度的文件应用程序在编写程序时,仍然可以按照从局部到整体、从具体到一般
2.的原则,逐步构造出程序例如,首先完成创建一个空文件的程序、再完成写入一个数据的程序、最后完成写入一批数据的程序再如,先完成读出一个数据的程序、再完成读出一批个数已知的数据的程序、最后完成读出一批个数未知的数据的程序上机调试运行本章示例程序,并调试运行自己编写的程序,进一步体会通过程序进行文件操作的
3.一般方法对于语法错误,采取与前面相同的应对措施着重检查文件操作函数的实参是否与形参在次序、
4.类型上保持一致,对于逻辑错误,着重检查文件的打开方式是否符合文件的读写要求尤其注意什、、三种
5.w+a+可读可写方式的区别;注意文件读出时是否与写入时在文件类型、数据顺序、数据类型、数据格式上保持一致,例如二进制文件只能用函数写入,用函数读出fwrite fread仍然可以采用在程序中添加临时性输出语句的方法,进行出错位置的定位.记录总结在调试程序的过程中发现的错误以及改正的方法,不断积累编写文件应用程序的直接经6验第二单元重点与难点解析.为什么要用文件?1使用文件的最大目的就是让数据长久保存下来.使用文件存储数据的基本步骤是什么?2最常用的方式是使用循环语句,从源文件中读出(或写入)一个数据,循环执行该步骤,直至到达源文件末尾为止(或写入数据结束)文本文件和二进制文件的区别是什么?
3.文本文件以数据的码形式存储在计算机中,二进制文件以数据的内存形式存储在计算ASCII机中比如一个整数在文件中以二进制形式存储就是以文本形式存储就是128,0080H,文件读写函数都分别在什么情况下使用?
4.往磁盘文件中写入数据的函数主要有、函数,而使用fputc fwritefprintf fputsfgetc fread函数可以从磁盘文件中读取数据函数表示将字符写到文件中去,表示从fscanf fgetsfputc fgetc文件中读取一个字符,然后赋给对应的变量;函数和函数与前面讲过的函数和fscanf fprintfscanf函数几乎相同,唯一的区别就是输入/出终端发生了变化;和是文件中对于字符串printf fgetsfputs的操作,是读入字符串,那参数肯定得表明读完的字符串放到哪儿,读多少,从哪个文件读,fgets这就对应后面的个参数,同样的,表示将字符串送到文件中,所以后面的参数就是要送3fputs的字符串和接收字符串的文件对文件操作结束后,可以不关闭文件吗?
5.不可以使用打开的文件,一定要使用关闭,否则会出现很多意想不到的情fopen fclose况,例如对文件的更改没有被记录到磁盘上,其他进程无法存取该文件等第三单元典型错误解析文件打开函数格式错误
1.在文件打开函数中,打开方式参数的类型应为字符串而非字符型例如FILE*fp;fp=fopenabc.txt,r;是错误的正确的写法应该是FILE*fp;fp=fopennabc.txtn,nrn;文件打开函数格式错误
2.在文件打开函数中,当文件名中出现反斜杠时,应该用两个连续的反斜杠来表示例如:FILE*fp;fp=fopennc:\abc.txt,Hrn;是错误的正确的写法应该是FILE*fp;fp=fopen nc:Wabc.txt,r;文件打开函数格式错误
3.在判断文件打开是否成功时,要注意运算符的运算顺序例如:FILE*fp;if fp=fopen nc:Wabc.txt,==NULL{printf nCan11open thisfile!;exit0;是错误的因为等于运算符的优先级高于赋值运算符,而此处应先赋值再判断相等因此正确的写法应该是FILE*fp;iffp=fopen nc:Wabc.txtn,nrn==NULL{printfCan11open thisfile!;exit0;文件写入格式不正确
4.向文件中写入数据时,要注意写入数据的格式正确例如int a=100,b=200;FILE*fp;fp=fopen c:Wabc.txt,nw;fprintffp,%d%d,a b;r是错误的因为写入时将的值连起来了,导致以后不能正确读出正确的写法应该是a,bint a=100,b=200;FILE*fp;fp=fopen nc:Wabc.txtn,nwn;fprintffp,n%d%d”,a,b;f或者fprintffp,%d%d,a,b;文件读出格式不正确
5.对数据文件进行读出操作时,其读出格式必须与数据的写入格式相一致例如int a=100,b=200,x,y;FILE*fp;fp=fopen nc:Wabc.txt,nr;fprintffp,H%d,%d”,a,b;fscanffp,%d%d,x,y;是错误的因为写入时数据之间以逗号相分隔,因此读出时也应该跳过这些逗号正确的写法应该是int a=100,b=200,x,y;FILE*fp;fp=fopen nc:Wabc.txt,nrn;fprintffp,n%d%d”,a,b;zfscanffp H%d,%d”,x,y;z又例如int a=100,b=200;FILE*fp;fp=fopen nc:Wabc.txt,nrn;fprintffp,”%d%dn,a,b;fscanffp,”%d,%d”,x,y;也是错误的因为写入时数据之间以空格相分隔,因此读出时格式符中不应该出现逗号正确的写法应该是int a=100b=200x y;z zzFILE*fp;fp=fopen nc:Wabc.txt,r;fprintffp,H%d%d,a,b;fscanffp,n%d%dn x,y;z。
个人认证
优秀文档
获得点赞 0