- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1
学过的文件库函数
char *fgets(char *s,int n,FILE *fp)
int fputs(char *s,FILE *fp)
FILE *fopen(“文件名”,“操作方式”);
int fclose(FILE *fp)
int fputc(int c, FILE *fp)
int fgetc(FILE *fp)
int feof(FILE *fp);
两个特殊的标识符 FILE 文件类型名 EOF 文件结束符号常数(-1)
2
拓展 利用命令行参数,编写实现文件拷贝软件
3
复习:命令行参数
main() 可以是有参的函数;
程序运行时通过命令行向其传递参数;
main(int argc, char* argv[])
argc的值为程序执行时参数的数目(包括命令本身)
argv[i]为指向第i个参数的字符指针
argv[0]指向“命令名”(第一个)字符串
argv[1]指向第二个字符串
argv[2]指向第三个字符串
D:\mycopy first.txt second.txt
argc值为3
4
例:演示命令行参数
#include stdio.h
#include stdlib.h
void copyfile(char *f1,char *f2);
int main(int argc,char *argv[])
{
printf(The program name is:%s\n, argv[0]);
if ( argc==3 )
{
copyfile(argv[1],argv[2]);
printf(\n文件复制成功);
}
else
printf(\n命令行输入不符合要求);
getchar();
return 1;
}
5
void copyfile(char *f1,char *f2)
{
char ch;
FILE *fp1,*fp2;
fp1=fopen(f1,r);
if(fp1==NULL){printf(打不开文件\n);exit(1);}
fp2=fopen(f2,w);
if(fp2==NULL){printf(打不开文件\n);exit(1);}
while((ch=fgetc(fp1))!=EOF)
fputc(ch,fp2);
fclose(fp1);fclose(fp2);
fputc(\n,stdout);
}
6
二进制文件数据块的读/写
7
读/写一个数据块──fread( )和fwrite( )
1.函数原型:
int fread(void *buffer,int size,int count,FILE *fp);
int fwrite(void *buffer,int size,int count,FILE *fp);
2.功能:
fread( )──从fp所指向文件的当前位置开始,一次读入size个
字节,重复count次,并将读入的数据存放到从buffer开始的内存
中;同时,将读写位置指针向前移动size* count个字节。
其中,buffer是存放读入数据的起始地址(即存放何处)。
fwrite( )──从buffer开始,一次输出size个字节,重复count
次, 并将输出的数据存放到fp所指向的文件中;同时,将读写位置指针向前移动size* count个字节。
其中,buffer是要输出数据在内存中的起始地址(即从何处开
始输出)。
如果调用fread( )或fwrite( )成功,则函数返回值等于count,否则为0。
fread( )和fwrite( )函数,一般用于二进制文件的处理。
8
例4 将4个学生数据,转存到磁盘文件中去,再从文件读出显示到屏幕上
分析(构思):
(1)建立学生信息的结构体;
(2)定义文件指针;
(3)定义结构体数组并初始化(为方便调试而作);
(4)将学生信息写入文件,写完后关闭该文件(编写函数) ;
(5)再次打开该文件,读出所有学生信息,读完后关闭该文件(编写函数);
(6)显示学生信息到屏幕上(编写函数) 。
typedef struct student
{ char name[10];
int num;
int age;
}StudType; //定义结构体
void main()
{
StudType stud[10]={{大师兄,201008,18},
{二师兄,201009,19},
{“三师弟”,201010,10}};
您可能关注的文档
- USB3.1最新技术及测试方案课件.ppt
- UWB定位系统全面方案介绍通用课件.ppt
- V-ing-作主语-宾语-表语-同课异构.pptx
- v-ing做主语宾语教学能手公开课课件.pptx
- Vancl凡客诚品运营方案-史上最全的全面分析凡客课件.pptx
- VBA最最基础入门课件.pptx
- VB基础教程入门全篇精讲课件.pptx
- VB期末总复习提纲.pptx
- VB第4章-常用控件.pptx
- VB教程完整版课件.pptx
- 2025年12月四川成都都江堰宏惠医院招聘17人备考笔试试题及答案解析.docx
- 2025上海华东师范大学研究生院人员招聘1人备考考试试题及答案解析.docx
- 2025广西百色市西林县民族实验小学招聘后勤工作人员1人模拟笔试试题及答案解析.docx
- 2025年马鞍山市中心血站公开招聘编外聘用人员1名备考笔试题库及答案解析.docx
- 2025浙江丽水云和县应急管理局招聘应急消防管理站专职编外人员2人参考笔试题库及答案解析.docx
- 四川艺术职业学院2025年下半年公开考核招聘工作人员补充备考笔试题库及答案解析.docx
- 吉水县两山资源控股有限公司2025年面向社会公开招聘1名出纳备考考试试题及答案解析.docx
- 2026辽宁大连海事大学招聘事业编制非教学科研人员(第一批)23人模拟笔试试题及答案解析.docx
- 招4人!海东市高铁新区医院招聘模拟笔试试题及答案解析.docx
- 2025广东东莞市常平镇下属事业单位招聘3人备考笔试试题及答案解析.docx
最近下载
- 慢性肾衰竭合并急性心力衰竭病人的护理查房ppt演讲.pptx VIP
- 黄山学院《高等数学E(上)》2025 - 2026学年第一学期期末试卷(A卷).docx VIP
- 幼儿行为观察与指导第十章--幼儿园对个别儿童的观察与指导.ppt VIP
- 幼儿园大班社会《七只小猪去旅行》PPT课件.pptx VIP
- 医疗机构内部控制与合规风险管理启示.pptx VIP
- 腋静脉应用解剖学与穿刺技术.ppt VIP
- 倪海厦经方治感冒简易图表介绍.ppt VIP
- 超文本传输协议HTTP .ppt VIP
- 【事业单位考试真题】2022年江西省交通投资集团有限责任公司校园招考聘用冲刺题(附答案解析).docx VIP
- 倪海厦伤寒论经方使用说明书.docx VIP
原创力文档


文档评论(0)