#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
int main()
{
int fd1=open("score",O_RDWR);
int fd2=dup(fd1);
close(fd1);
char s[20];
int n=read(fd2,s,20);
if(n==-1)
{
printf("read error\n");
return;
}
else
{
printf("%s\n",s);
}
char name[]="ooooooooooooooooo";
#include<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<string.h>
int main()
{
int fd1=open("score",O_RDWR);
int fd2=dup(fd1);
close(fd1);
char s[20];
int n=read(fd2,s,20);
if(n==-1)
{
printf("read error\n");
return;
}
else
{
printf("%s\n",s);
}
char name[]="ooooooooooooooooo";
n=write(fd2,name,strlen(name)+1);
if(n>0)
{
printf("%s %d",name,n);
}
}
dup的返回值是新文件描述符