write函数和read函数

write( )

头文件

#include<unistd.h>

原型:

ssize_t write(int fd,const void*buf,size_t count);

参数说明:
fd:文件描述符(通常为1)
buf:通常是一个字符串
count:每次写入的字节数

返回值
成功返回字节数
失败返回-1并设置error

read( )

头文件

#include<unistd.h>

从文件描述符对应文件读取数据

原型:

ssize_t read(int fd,void*buf,size_t count)

fd:文件描述符(通常为0)
buf:为读出数据的缓冲区
count:每次读取的字节数

返回值
成功返回读出的字节数
失败返回-1并设置error

代码

#include<unistd.h>
#include<string.h>
#define SIZE 1024

int main(void) {
	char prompt[] = "Type a command: ";
	char buf[SIZE];
	// Ask the user to type a command:
	write(1, prompt, len);
	// Read from the standard input the command typed by the user (note
	// that fgets also puts into the array buf the °Ø\n°Ø character typed
	// by the user when the user presses the Enter key on thekeyboard):
	read(0, buf, SIZE);
	// Replace the Enter key typed by the user with °Ø\0°Ø:
	for(int i = 0; i < SIZE; i++) {
		if(buf[i] == '\n' || buf[i] == '\r') {
			buf[i] = '\0';
			break;
		}
	}
	// Execute the command typed by the user (only prints it for now):
	write(1, buf, len);
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值