精通linux c编程 2

精通linux c编程 2

ID:41037558

大小:195.00 KB

页数:20页

时间:2019-08-14

精通linux c编程 2_第1页
精通linux c编程 2_第2页
精通linux c编程 2_第3页
精通linux c编程 2_第4页
精通linux c编程 2_第5页
资源描述:

《精通linux c编程 2》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、3.文件操作1、编写一个程序,打开一个文本文件,读取其中内容,将其复制到一个新建文件中。//filecopy.c#include#include#include#include#definePERMS0666#defineDUMMY0#defineBUFSIZE1024intmain(intargc,char*argv[]){intsource_fd,target_fd,num;chariobuffer[BUFSIZE];if(argc!=3){printf("参数个数不正确!");return1;}i

2、f((source_fd=open(*(argv+1),O_RDONLY,DUMMY))==-1){printf("文件打开错误!");return2;}if((target_fd=open(*(argv+2),O_WRONLY

3、O_CREAT,PERMS))==-1){printf("创建文件失败!");return3;}while((num=read(source_fd,iobuffer,BUFSIZE))>0)if(write(target_fd,iobuffer,num)!=num){printf("文件写入失败");return4;}close(source_fd);cl

4、ose(target_fd);return0;//编译gccfilecopy.c-ofilecopy//运行./filecopyfilecopy.cfilecopy副本.c}2、编写一个程序,打开一个文件,将它截断至原来长度的1/2。//filetruncate.c#include#include#include#includeintmain(intargc,char*argv[]){inti,fd;structstatbuf;if(argc!=2){printf("参数个数不正确!");return1

5、;}if((fd=open(argv[1],O_RDWR))<0){printf("%s打开失败!",argv[1]);return2;}if(fstat(fd,&buf)<0){printf("错误!");return3;}else{i=buf.st_size;}printf("%s大小:%d字节",argv[1],i);if(ftruncate(fd,i/2)<0){printf("%s截断失败!",argv[1]);return4;}printf("%s截断成功",argv[1]);//编译gccfiletruncate.c-ofiletruncate//运行./file

6、truncatetest.c}3、编写一个程序,打开一个文本文件,然后把此文件中小写字母转换为大写字母,其他字符不变。其中文件名作为命令行参数。//atoA.c#include#include#include#include#defineBUFSIZE1024intmain(intargc,char*argv[]){intfd,num,i;chariobuffer[BUFSIZE];if(argc!=2){printf("参数个数不正确!");return1;}if((fd=open(*(argv+1)

7、,O_RDWR))==-1){printf("文件打开错误!");return2;}while((num=read(fd,iobuffer,BUFSIZE))>0){for(i=0;i='a'&&iobuffer[i]<='z'){iobuffer[i]-=32;}}lseek(fd,-num,SEEK_CUR);//向前偏移文件指针if(write(fd,iobuffer,num)!=num){printf("文件写入失败");return3;}}close(fd);return0;//编译gccatoA.c-oatoA

8、//运行./atoAtest.c}4、编写一个程序,读取当前工作目录下的内容,并将其打印输出到终端。//readwd.c#include#include#include#include#includeintmain(intargc,char*argv[]){charpath[PATH_MAX+1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。