linux中fd什么概念,Linux中FILE和fd的区别

文章目录

1.FILE文件流指针

关于FILE的读写操作

给文件中写内容

#include

#include

#include

#include

#include

int main()

{

FILE* fp=fopen("test","wr");

pid_t pid=fork();

if(pid==0) {

char buf[32]="you had me at hello\n";

int i=0;

for(i=0;i<5;++i) {

fwrite(buf,strlen(buf),1,fp);

}

exit(0);

}

wait(NULL);

fclose(fp);

return 0;

}

从文件中读出内容

#include

#include

#include

#include

#include

int main()

{

FILE* fp=fopen("test","wr");

pid_t pid=fork();

if(pid==0) {

char buf[32]="you had me at hello\n";

int i=0;

for(i=0;i<5;++i) {

fwrite(buf,strlen(buf),1,fp);

}

exit(0);

}

wait(NULL);

fclose(fp);

return 0;

}

2.使用文件描述符

给文件中写入内容

#include

#include

#include

#include

#include

#include

#include

int main()

{

int fd=open("text.txt",O_WRONLY | O_CREAT,0664);

if(fd<0) {

perror("open\n");

return 0;

}

int i=0;

char buf[]="you had me at hello\n";

int len=strlen(buf);

for(i=0;i<5;++i) {

write(fd,buf,len);

}

close(fd);

return 0;

}

从文件中读出内容

#include

#include

#include

#include

#include

#include

#include

int main()

{

int fd=open("./test",O_RDONLY);

if(fd<0) {

perror("open\n");

return 1;

}

char* msg="you had me at hello\n";

char buf[1024];

while(1) {

ssize_t s=read(fd,buf,strlen(msg));

if(s>0) {

printf("%s\n",buf);

}else {

break;

}

}

close(fd);

return 0;

}

标签:main,int,pid,fd,FILE,Linux,include

来源: https://blog.csdn.net/a_hang_szz/article/details/91344510

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值