操作文件的系统调用
open read write close
linux中二进制文件和文本文件是一样的
读文件
#include<stdio.h>
#incldue<stdlib.h>
#include<unistd.h>
#include<fcntl.h>
#include<assert.h>
int fd=open("file.text",0,O_RDONLY);
assert(fd!=-1);
char buff[128]={0};
int n=read(fd,buff,127);
printf("buff=%s,n=%d\n",buff,n);
close(fd);
写文件
int fd=open("file.text",0,O_WRONLY|O_CREAT,0060);
assert(fd!=-1);
weite(fd,"hello",5);
close(fd);
复制文件
#include<stdio.h>
2 #include<stdlib.h>
3 #include<unistd.h>
4 #include<fcntl.h>
5 #include<assert.h>
6
7 int main()
8 {
9 int fdr=open("main.c",O_RDONLY);
10 int fdw=open("a.c",O_WRONLY|O_CREAT,0600);
11 if(fdr==-1||fdw==-1)
12 {
13 exit(0);
14 }
15 char buff[1024]={0};
16 int num=0;
17 while((num=read(fdr,buff,1024))>0)
18 {
19 write(fdw,buff,num);
20 }
21 close(fdr);
22 close(fdw);
23 }