实验一:
-
1.创建文件file1,写入字符串“abcdefghijklmn”;
-
2.创建文件file2,写入字符串“ABCDEFGHIJKLMN”;
-
3.读取file1中的内容,写入file2,使file2中的字符串内容为“ABCDEFGHIJKLMNabcdefghijklmn”
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include <fcntl.h>
int main()
{
int file1,file2;
char str[20]={
'0'};
file1 = open("./file1.txt",O_RDWR|O_CREAT,0777);
file2 = open("./file2.txt",O_RDWR|O_CREAT,0777);
write(file1,"abcdefghijklmn",14);
lseek(file2, 17, SEEK_SET);
write(file2,"ABCDEFGHIJKLMN",14);
lseek(file1, 0, SEEK_SET);
read(file1,str,14);
lseek(file2, 0, SEEK_SET);
write(file2,str,14);
close(file1);
close(file2);
return 0;
}
实验二:
-
编写代码,完成以下功能:
-
1.创建新文件,该文件具有用户读写权限。
-
2.采用dup/dup2/fcntl复制一个新的文件描述符,通过新文件描述符向文件写入“class_name”字符串;
-
3.通过原有的文件描述符读取文件中的内容,并且打印显示;
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
int main()
{
int fd , fdcopy;
char buf[15]={
'0'};
fd = open("./test.txt", O_RDWR|O_CREAT);
fdcopy=dup(fd);
write(fdcopy,"CLASS_NAME",10);
lseek(fdcopy, 0, SEEK_SET);
read(fd, buf, 10);
printf("%s\n", buf);
close(fd);
return 0;
}
- 实验三:
-
编写程序实现以下功能:
-
1.输入文件名称,能够判断文件类型,判断实际用户对该文件具有哪些存取权限;
-
2.要求打印出文件类型信息,inode节点编号,链接数目,用户id,组id,文件大小信息;
-
3.修改文件的权限为当前用户读写,组内用户读写,组外用户无权限。
#include<stdio.h>