do_cat.h

来自「linuxunix 下的c语言实现」· C头文件 代码 · 共 30 行

H
30
字号
#include <fcntl.h>

void do_cat(char * fname){
	int fd,size;
	char buffer[4096];

	if(fname == NULL){
		perror("Warning: filename is compulsory by cat cmd of CORAL SHELL\n");
		return;
	}
	if((fd=open(fname, O_RDONLY|O_CREAT,0644))<0){
		perror("OPEN ERROR: a error occurs when open files\n");
		return;
	}
	
	while((size=read(fd,buffer,sizeof(buffer)))>0){
		if(write(1, buffer, size) != size){
			perror("WRITE ERROR:a error occurs when output files\n");
			return;
		}
	}

	if(size<0){
		perror("READ ERROR: a error occurs when read files\n");
		return;
	}
	close(fd);

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?