《实验三缓冲IO和特殊文件.docx》由会员分享,可在线阅读,更多相关《实验三缓冲IO和特殊文件.docx(4页珍藏版)》请在三一文库上搜索。
1、实验三缓冲 IO 和特殊文件实验目的1. 了解和掌握基于流的文件 I/O 程序设计2. 掌握特殊文件的程序设计方法实验内容1. 设计一程序,要求用带缓存的流文件 I/O 操作,在“ ./tmp ”目录下 , 打开名称为 “tmpfile ”的文件。如果该文件不存在,则创建此文件;如果存在,将文件清空后关闭。#include#includeint main()FILE * fp;if(fp=fopen(./tmp/tmpfile,w+)=NULL)perror(open file failed);elseprintf(file openedn);fclose(fp);2. 设计一程序, 要求用带
2、缓存的流文件 I/O 操作,利用 fputc 函数把键盘上输入的字符串写入文件“ ./tmp/2 - 2tmp”, 如果该文件不存在,则创建此文件;多次运行程序,多次输入字符串后,文件“ /tmp/2 - 2tmp”中只保存最后一次输入的字符串(若要保存全部输入的字符串,如何改写程序?) 。#includemain()FILE *fp;char ch;if(fp=fopen(./tmp/2-2tmp,w+)=NULL)perror(file open error);elseprintf(input the string:n);while(ch!=n)fputc(ch=fgetc(stdin),
3、fp);fclose(fp);若要保存全部输入的字符串,将 if(fp=fopen(./tmp/2-2tmp,w+)=NULL)中 w+ 改为a+ 。3设计一程序, 要求新建一个目录 newdir 打开 newdir 目录并输出该目录下的目录名和和它的子目录childdir,预设权限为inode ,关闭该目录文件。rwx x x,#include#include#include#includemain()DIR *dir;int d;struct dirent *ptr;if(d=mkdir(./newdir,0711)=-1)perror(directory created failed!)
4、;if(d=mkdir(./newdir/childdir,0711)=-1)perror(directory created failed!);elsedir=opendir(./newdir);while (ptr=readdir(dir)!=NULL)printf(new dir is:%sinode :%dn,ptr-d_name,ptr-d_ino);closedir(dir);4. 设计一程序,要求为“ /bin/ls ”文件建立一个软链接“ ls1 ”和一个硬链接“ ls2 ”,并查看两个链接文件和“ /bin/ls ”文件,并运行 ./ls1 和 ./ls2 ,查看结果。#include#includemain()symlink(/bin/ls,./ls1);link(/bin/ls,ls2);system(ls ./ls1 -l);system(ls ./ls2 -l);system(ls /bin/ls);