c_cpp catコマンドを作る!linuxのファイルディスクリプタを使って,ファイルから端末へ出力する
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp catコマンドを作る!linuxのファイルディスクリプタを使って,ファイルから端末へ出力する相关的知识,希望对你有一定的参考价值。
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#define BUFFER_SIZE 2048
static void die(const char *s){
perror(s);
exit(1);
}
static void do_cat(const char *path){
int fd;
unsigned char buf[BUFFER_SIZE];
int n;
fd = open(path, O_RDONLY);
if(fd < 0) die(path);
for(;;){
n = read(fd, buf, sizeof buf);
if (n < 0) die(path);
if(n == 0) break;
if(write(STDOUT_FILENO, buf, n) < 0) die(path);
}
if(close(fd) < 0) die(path);
}
int main(int argc, char *argv[]){
int i;
if(argc < 2){
fprintf(stderr, "%s: file name not given\n", argv[0]);
exit(1);
}
for(i=1; i<argc; i++){
do_cat(argv[i]);
}
exit(0);
}
以上是关于c_cpp catコマンドを作る!linuxのファイルディスクリプタを使って,ファイルから端末へ出力する的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp LSコマンドを作ってみた
sh unarコマンドですべてのファイルを解压缩するスクリプト。あと展开后のディレクトリから空白文字を置换する。
markdown ファイルを指すURLに个别のファイルのエイリアスを作る
sh WordPress的开発环境作るコマンド
text 树コマンドをFZFで操作する
ruby Rubyからgitコマンドを実行して情报を取得