文件IO——将文件dfs的文件内容第三个字节之后的内容复制到文件dfd中

 1 /*
 2 使用文件IO将文件fds中的内容复制到文件fdd中去
 3 1.创建两个文件描述符
 4 2.使用open()方法分别以只读只写方式将文件描述符符文件连接
 5 3.将读位置后移三位
 6 4。将fds内容存储到缓冲区。
 7 5,将缓冲区内容写入fdd文件
 8 
 9 */
10 
11 //open()的头文件
12 #include<sys/stat.h>
13 #include<fcntl.h>
14 
15 //write()的头文件
16 #include<unistd.h>
17 
18 #include<stdio.h>
19 int main(){
20 
21     int fds,fdd;
22     char buff[64]={0};
23     if((fds=open("fds.txt",O_RDONLY))<0){
24         perror("fail to open fds");
25         return -1;
26     }
27     if((fdd=open("fdd.txt",O_WRONLY|O_CREAT,0660))<0){
28     
29         perror("fail to open fdd");
30         return -1;
31     }
32     lseek(fds,3,SEEK_SET);
33     int len=read(fds,buff,64);
34     write(fdd,buff,len);
35 
36 
37     close(fdd);
38     close(fds);
39     return 0;
40 }

错误解析:

(1)fiage标志位:O_APPEND 的作用,写文件时读写位置指向末尾,例如,未使用O_APPEND是原文1122,写入AA,则最终文件结果:AA22

(2)使用open()函数时,设置flags时O_RDOLIY|O_ERONLY中将( |) 写成(,)    关键编译器不报错。

原文地址:https://www.cnblogs.com/lanbofei/p/9559610.html