⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cp1.c

📁 understanding unix/linux programming source code(bruce molay)
💻 C
字号:
/** cp1.c *     version 1 of cp - uses read and write with tunable buffer size * *     usage: cp1 src dest */#include        <stdio.h>#include        <unistd.h>#include        <fcntl.h>#define BUFFERSIZE      4096#define COPYMODE        0644void oops(char *, char *);main(int ac, char *av[]){        int     in_fd, out_fd, n_chars;        char    buf[BUFFERSIZE];						/* check args 	*/        if ( ac != 3 ){                fprintf( stderr, "usage: %s source destination\n", *av);                exit(1);        }						/* open files	*/        if ( (in_fd=open(av[1], O_RDONLY)) == -1 )                oops("Cannot open ", av[1]);        if ( (out_fd=creat( av[2], COPYMODE)) == -1 )                oops( "Cannot creat", av[2]);							/* copy files	*/        while ( (n_chars = read(in_fd , buf, BUFFERSIZE)) > 0 )                if ( write( out_fd, buf, n_chars ) != n_chars )                        oops("Write error to ", av[2]);	if ( n_chars == -1 )			oops("Read error from ", av[1]);						/* close files	*/        if ( close(in_fd) == -1 || close(out_fd) == -1 )                oops("Error closing files","");}void oops(char *s1, char *s2){        fprintf(stderr,"Error: %s ", s1);        perror(s2);        exit(1);}

⌨️ 快捷键说明

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