谭浩强c语言word版13内容摘要:
被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。 如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。 被写入的文件若不存在,则创建该文件。 2) 每写入一个字符,文件内部 位置指针向后移动一个字节。 3) fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个 EOF。 可用此来判断写入是否成功。 【例 】从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上。 include main() { FILE *fp。 char ch。 if((fp=fopen(d:\\jrzh\\example\\string,wt+))==NULL) { printf(Cannot open file strike any key exit!)。 getch()。 exit(1)。 } printf(input a string:\n)。 ch=getchar()。 while (ch!=39。 \n39。 ) { fputc(ch,fp)。 ch=getchar()。 } rewind(fp)。 ch=fgetc(fp)。 while(ch!=EOF) { putchar(ch)。 ch=fgetc(fp)。 } printf(\n)。 fclose(fp)。 } 程序中第 6 行以读写文本文件方式打开文件 string。 程序第 13行从键盘读入一个字符后进入循环,当读入字符不为回车符时,则把该字符写入文件之中,然后继续从键盘读入下一字符。 每输入一个字符,文件内部位置指针向后移动一个字节。 写入完毕,该指针已指向文件末。 如要把文件从头读出,须把指针移向文件头,程序第 19 行 rewind 函数用于把 fp所指文件的内部位置指针移到文件头。 第 20至 25行用于读出文件中的一行内容。 【例 】把命令行参数中的前一个文件名标识的文件,复制到后一个文件名标识的文件中, 如命令行中只有一个文 件名则把该文件写到标准输出文件 (显示器 )中。 include main(int argc,char *argv[]) { FILE *fp1,*fp2。 char ch。 if(argc==1) { printf(have not enter file name strike any key exit)。 getch()。 exit(0)。 } if((fp1=fopen(argv[1],rt))==NULL) { printf(Cannot open %s\n,argv[1])。 getch()。 exit(1)。 } if(argc==2) fp2=stdout。 else if((fp2=fopen(argv[2],wt+))==NULL) { printf(Cannot open %s\n,argv[1])。 getch()。 exit(1)。 } while((ch=fgetc(fp1))!=EOF) fputc(ch,fp2)。 fclose(fp1)。 fclose(fp2)。 } 本程序为带参的 main函数。 程序中定义了两个文件指针 fp1和 fp2,分别指向命令行参数中给出的文件。 如命令行参数中没有给出文件名,则给出提示信息。 程序第 18行表示如果只给出一个文件名,则使 fp2指向标准输出文件 (即显示器 )。 程序第 25行至 28行用循环语句逐个读出文件 1中的字符再送到文件 2中。 再次运行时,给出了一个文件名,故输出给标准输出文件 stdout,即在显示器上显示文件内容。 第三次运行,给出了二个文件名,因此把string中的内容读出,写入到 OK之中。 可用 DOS命令 type显示 OK 的内容。 字符串读写函数 fgets和 fputs 1. 读字符串函数 fgets 函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为: fgets(字符数组名 ,n,文件指针 )。 其中的 n是一个正整数。 表示从文件中读出的字符串不超过 n1个字符。 在读入的最后一个字符后加上串结束标志 39。 \039。 例如: fgets(str,n,fp)。 的意义是从 fp所指的文件中读出 n1个字符送入字符数组 str中。 【例 】从 string文件中读入一个含 10个字符的字符串。 include main() { FILE *fp。 char str[11]。 if((fp=fopen(d:\\jrzh\\example\\string,rt))==NULL) { printf(\nCannot open file strike any key exit!)。 getch()。 exit(1)。 } fgets(str,11,fp)。 printf(\n%s\n,str)。 fclose(fp)。 } 本例定义了一个字符数组 str共 11个字节,在以读文本文件方式打开文件 string后,从中读出 10个字符送入 str数组,在数组最后一个单元内将加上 39。 \039。 ,然后在屏幕上显示输出 str数组。 输出的十个字符正是例。 对 fgets函数有两点说明: 1) 在读出 n1个字符之前,如遇到了换行符或 EOF,则读出结束。 2) fgets函数也有返回值,其返回值是字符数组的首地址。 2. 写字符串函数 fputs fputs函数的功能是向指定的文件写入一个字符串 ,其调用形式为: fputs(字符串 ,文件指针 )。 其中字符串可以是字符串常量,也可以是字符数组名,或指针变量,例如: fputs(“abcd“,fp)。 其意义是把字符串“ abcd”写入 fp所指的文件之中。 【例 】在例 string中追加一个字符串。 include main() { FILE *fp。 char ch,st[20]。 if((fp=fopen(string,at+))==NULL) { printf(Cannot open file strike any key exit!)。 getch()。 exit(1)。 } printf(input a string:\n)。 scanf(%s,st)。 fputs(st,fp)。 rewind(fp)。 ch=fgetc(fp)。 while(ch!=EOF) { putchar(ch)。 ch=fgetc(fp)。 } printf(\n)。 fclose(fp)。 } 本例要求在 string文件末加写字符串,因此,在程序第 6行以追加读写文本文件的方式打开文件 string。谭浩强c语言word版13
相关推荐
,号召大家想办法争取能够弄清疑点。 讨论中该同学当众朗读了一份自称是公安系统内部人士的网友写的案情分析。 这名同学还表示,谭母曾告诉记者,住在东风广场事发房间的某位韩国男子平时经常想约会谭静,而谭静一直对其持反感态度。 该男子还经 常谎称有事找她借机搭话,而屡次都被谭静婉转回避。 事发当天因一名两人都认识的韩国朋友要回国,谭静这才和他一起喝酒。 记者注意到,当朱维笳说这些的时候
08 摇篮曲 /09 古诺派第 /10 野蜂飞舞 /11 梦幻 曲 /12 间奏曲 /13 跳舞娃娃 /14 加沃特舞曲 /15 一分钟圆舞曲 TC长笛与竖琴:小船( 1C) 1小船 /2摇篮曲 /3沉思 /4西西里舞曲 /5间奏曲 /6哈巴涅拉 /7天鹅 /8幽默曲 /9练习曲 /10幻想曲 /11小步舞曲 /12伦顿德里小调/13小丑 /14摇篮曲 /15古诺派第 /16野蜂飞舞
roid Market可以为用户提供多样化的内容,既有来自各大媒体公司的内容,也有来自业余开发 者的程序,从而消除二者之间的隔阂。 谷歌拥有足够的技术实力来完 成这种服务。 他们专业的服务器和搜索算法将会使得 Android Market的优势更为突出。 Web 社区功能 Android Market在默认状态下就整合有 Web。 谷歌一直以来都致力于为人们提供相关的工具以帮助用户建立社区。
的指针 一个指针变量当用来指向一个结构变量时,称之为结构指针变量。 结构指针变量中的值是所指向的结构变量的首地址。 通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。 结构指针变量说明的一般形式为 : struct 结构名 *结构指针变量名 例如,在前面的例题中定义了 stu这个结构,如要说明一个指向 stu的指针变量 pstu,可写为: struct stu *pstu。
一个性侵害者,也从不会想到自己会遇到这样的人。 也有很多的家长,误以为告诉孩子不要在网上与陌生人谈话聊天,就应该是安全的了,但事实却不是这样。 虽然孩子想 像中的陌生人是一个可怕、面目狰狞的人,但如果有一个人,他常与孩子聊天并交换照片,这个人在孩子的心中就再也不是陌生人了。 与孩子订定上网规矩 Christine Loftus 说: “家长应注意孩子在网路上会遇到的各样危险
is a friend indeed. *in need “遇到难处,贫穷 ”, indeed 是 “真正的 ”,这两个词押韵,给人以节奏感。 只会工作不会玩的人是没意思的人。 All work and no play makes Jack a dull boy. *这句可以译成 “只让学习不让玩的孩子会变成愚蠢的孩子 ”。 事实胜于雄辩。 The proof of the pudding is