实验十实验报告卓越14彭佳伟_第1页
实验十实验报告卓越14彭佳伟_第2页
实验十实验报告卓越14彭佳伟_第3页
实验十实验报告卓越14彭佳伟_第4页
实验十实验报告卓越14彭佳伟_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计实验报告班级 卓越工程师班成绩 班级 卓越工程师班成绩 指导教师李开学号U201414716同组人姓名 日期 2014年1月14日第七次实验 文件实验学生姓名 彭佳伟实验组别 实验名称 文件实验一、实验目的(1)熟悉文本文件和二进制文件在磁盘中的存储方式。(2)熟练掌握流式文件的读写方法。二、实验任务.文件类型的程序验证ttinclude<stdio.h>intmain(intargc,charconst*argvE])(shorta=0x253f,b=0x7b7b;charch;FILE*fpl,*fp2;fpl=fopen("d:\\abcl.bin","wb++”);fp2=fopen('d:\\abc2.txt","w++”);fwrite(&a,sizeof(short),1,fpl);fwrite(&b,sizeof(short),1,f)fprintf(fp2,"%hx%hx”,a,b);rewind(fpl);rewind(fp2);while((ch=fgetc(fpl))!=EOF)putchar(ch);putchar("\n");while((ch=fgetc(fp2))!=EOF)putchar(ch);putchar("\n");fclose(fpl);fclose(fp2);return0;}(1)请思考程序的输出结果,然后通过上机运行来加以验证。(2)将两处sizeof(short)改为sizeof(char)后,结果会有什么不同?为什么?⑶将fprintf(fp2,"%hx%hx”,a,b)改为fprintf(fp2,"%d%d”,a,b)后结果会有什么不同?.源程序修改、替换ttinclude<stdio.h>ttinclude<stdlib.h>intmain(intargc,charconst*argv口)(charch;FILE*fp;if(argc!=2)・{printf("Argumentserror!\n");exit(-1);.}if((fp=fopen(argv[l],"r"))==NULL)・{printf("Can'topen%sfile!Xn^,argvEl]);exit(-1);.}while(ch=fgets(fp)!=EOF)putchar(ch);fclose(fp);return0;)(1)上面源程序中存在什么样的逻辑错误?请对程序进行修改、调试,使之能够正确完成指定任务。(2)用输入输出重定向freopen改写上述源程序中的main函数。3、程序设计:编写一个程序,实现以下功能:从键盘输入一行英文句子,将每个单词的首字母换成大写字母,然后输出到一个磁盘文件“test”中保存三、实验步骤及结果说明:测试环境为Linux,路径表示与书上不相同1、(1)输出结果为:?%{{253f7b7b(2)输出结果中,“?%{{”变为“?{”因为a,b均为2字节,用char写入文件的话会丢失一部分.(3)输出结果中,“2535f7b7b”变为“953531611“因为a,b均为2字节,而“%d”是将其作为4字节读入,会读人它后面的数据。2、(1)错误:while(ch=fgetc(fp)!=EOF)中ch要么为L要么为0,应合理加上括号。修改后代码:ttinclude<stdio.h>ttinclude<stdlib.h>intmain(intargc,charconst*argvE])(charch;FILE*fp;if(argc!=2),{printf("Argumentserror!\n");exit(-1);・)if((fp=fopen(argv[l],"r"))==NULL),(printf("Can'topen%sfile!\n”,argv[l]);exit(-1);)while((ch=fgetc(fp))!=EOF)putchar(ch);fclose(fp);return0;}(2)源代码:ttinclude<stdio.h>ttinclude<stdlib.h>intmain(intargc,charconst*argv[])(charch;FILE*fp;if(argc!=2).(printf("Argumentserror!\n");exit(-1);}if((fp=freopen(argv[l],"r",stdin))==NULL).(printf("Can'topen%sfile!Xn^,argv[l]);exit(-1);・}while((ch=getc(fp))!=EOF)putchar(ch);fclose(fp);return0;3、源代码:ttinclude<stdio.h>ttinclude<ctype.h>intmain(intargc,charconst*argv口)(charsE81];printf("Pleaseinputansentence:\n");inti;for(i=0;i<80;++i)・(scanf&s[i]);.if(s[i].=='\n)・(break;.))s[0]=toupper(s[0]);for(i=1;s[i]!='\0';++i),{if(s[i]='')・{s[i+l]=toupper(s[i+lj);)FILE*fp;fp=freopen(,Z/Users/Leonard/Documents/c/test2.c^,"w+”,stdout);for(i=0;s[i]!='\0';i++)・{putchar(s[i])・)fclose(fp);return0;}运行结果:Pleaseinputansentence:thisisatestPr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论