程序讲解第一题:将指定文件的m行到n行字符写到显示屏上m和n值从键盘输入。运行时输入及结果:please enterm,n:0,2Data StructureOperatingSystemComputerGraphicsSoftwareEngineeringC语言40学时
C语言40学时 程序讲解 第一题: 将指定文件的m行到n行字符写到显示屏上, m和n值从键盘输入。 运行时输入及结果: please enter m,n: 0,2 Data Structure Operating System Computer Graphics Software Engineering
C语言40#include"stdio.h"void main()[int i,m,n;FILE*fp;char*buf[4]={"DataStructure""OperatingSystem""ConmputerGraphics","SoftwareEngineering"};if((fp=fopen("file10""w"))==NULL)(printf("Can'topen %sln","myfile");return;)else(printf("pleaseenterm,n:In");scanf("%d,%d",&m,&n)for(i=m;i<=n;i++)/*输出到文件中*/(fputs(bufli],fp);putc("\n,fp);/*输出到屏幕上*/puts(bufijl);)fclose(fp):1)
C语言40 #include "stdio.h" void main( ) {int i,m,n; FILE *fp; char *buf[4]={"Data Structure","Operating System“,"Conmputer Graphics","Software Engineering"}; if((fp=fopen("file10","w"))==NULL) {printf("Can't open %s\n","myfile"); return;} else {printf("please enter m,n:\n"); scanf("%d,%d",&m,&n); for(i=m;i<=n;i++) {fputs(buf[i],fp); /*输出到文件中*/ putc('\n',fp); puts(buf[i]);} /*输出到屏幕上*/ fclose(fp);}}
第二题:查找指定的文本文件中的某个单词出现的行号及该行的内容要求:通过命令行输入文件名和查找的单词。假设:源程序名为:wj6.c建立一个文本文件:abc.txt子字符为:abc命令行:wj6abc.txtabc可执行文件名子字符文本文件C语言40学时
C语言40学时 第二题: 查找指定的文本文件中的某个单词出现 的行号及该行的内容。 要求:通过命令行输入文件名和查找的 单词。 假设:源程序名为:wj6.c 建立一个文本文件:abc.txt 子字符为:abc 命令行: wj6 abc.txt abc 可执行文件名 文本文件 子字符
文件中某字符2-1#include"stdio.h串首地址#include"stdlib.K子字符int str index(charsubstr[],charstr[])[int i,j,k;for(i=O;str[i];i++)不成立返回循环for(j=i,k=0strlj]==substr[k];j++,k++)substr[k+1]不成立返回循环if(!substr[k+1])==10return(i);条件成立找到匹配字符串return(-1);人voidmain(intargc,char*argv[])[charbuff[80];FILE*fp;int Icnt;C语言40学时
C语言40学时 #include "stdio.h“ 2-1 #include"stdlib.h" int str_index(char substr[ ],char str[ ] ) {int i,j,k; for(i=0;str[i];i++) for(j=i,k=0;str[ j ]==substr[k];j++,k++) 不成立返回 i循环 if(!substr[k+1]) 不成立返回 j 循环 return(i); 条件成立找到匹配字符串 return(-1); } void main( int argc,char *argv[ ]) {char buff[80]; FILE *fp; int lcnt; 子字符 文件中某字符 串首地址 substr[k+1] ==‘\0’
2-2if(argc<3)(printf("Usage:findwordfilenamewordin");return;)if((fp=fopen(argv[1],"r"))==NULL)(printf("不能打开%s文件|nargv[1]);return;}Icnt=1;while(fgets(buff,80fp)!=NULL)(if(str_index(argv[2],buff)!=-1)条件成立输出printf("%3d:%s",Icnt,buff);Icnt++;}条件成立与否都执行(行号)fclose(fp);)C语言40学时
C语言40学时 if(argc<3) 2-2 { printf("Usage:findword filename word\n"); return;} if((fp=fopen(argv[1],"r"))==NULL) {printf("不能打开%s文件\n",argv[1]); return;} lcnt=1; while(fgets(buff,80,fp)!=NULL) {if(str_index(argv[2],buff)!=-1) printf(“%3d: %s”,lcnt,buff); 条件成立输出 lcnt++;} 条件成立与否都执行.(行号) fclose(fp);}