您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 酒店餐饮 > 实验三-缓冲IO和特殊文件
实验三缓冲IO和特殊文件实验目的1.了解和掌握基于流的文件I/O程序设计2.掌握特殊文件的程序设计方法实验内容1.设计一程序,要求用带缓存的流文件I/O操作,在“./tmp”目录下,打开名称为“tmpfile”的文件。如果该文件不存在,则创建此文件;如果存在,将文件清空后关闭。#includestdio.h#includestdlib.hintmain(){FILE*fp;if((fp=fopen(./tmp/tmpfile,w+))==NULL)perror(openfilefailed);else{printf(fileopened\n);fclose(fp);}}2.设计一程序,要求用带缓存的流文件I/O操作,利用fputc函数把键盘上输入的字符串写入文件“./tmp/2-2tmp”,如果该文件不存在,则创建此文件;多次运行程序,多次输入字符串后,文件“/tmp/2-2tmp”中只保存最后一次输入的字符串(若要保存全部输入的字符串,如何改写程序?)。#includestdio.hmain(){FILE*fp;charch;if((fp=fopen(./tmp/2-2tmp,w+))==NULL)perror(fileopenerror);else{printf(inputthestring:\n);while(ch!='\n')fputc((ch=fgetc(stdin)),fp);fclose(fp);}}若要保存全部输入的字符串,将if((fp=fopen(./tmp/2-2tmp,w+))==NULL)中w+改为a+。3.设计一程序,要求新建一个目录newdir和它的子目录childdir,预设权限为rwx—x—x,打开newdir目录并输出该目录下的目录名和inode,关闭该目录文件。#includestdio.h#includedirent.h#includesys/types.h#includesys/stat.hmain(){DIR*dir;intd;structdirent*ptr;if((d=mkdir(./newdir,0711))==-1)perror(directorycreatedfailed!);if((d=mkdir(./newdir/childdir,0711))==-1)perror(directorycreatedfailed!);else{dir=opendir(./newdir);while((ptr=readdir(dir))!=NULL)printf(newdiris:%sinode:%d\n,ptr-d_name,ptr-d_ino);closedir(dir);}}4.设计一程序,要求为“/bin/ls”文件建立一个软链接“ls1”和一个硬链接“ls2”,并查看两个链接文件和“/bin/ls”文件,并运行./ls1和./ls2,查看结果。#includestdio.h#includeunistd.hmain(){symlink(/bin/ls,./ls1);link(/bin/ls,ls2);system(ls./ls1-l);system(ls./ls2-l);system(ls/bin/ls);}
本文标题:实验三-缓冲IO和特殊文件
链接地址:https://www.777doc.com/doc-4635986 .html