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

📄 03lst02.c

📁 linux 24hours study source code chap01 - chap05
💻 C
字号:
/* dos_cvrt.c */static const char rcsid[] =    "$Id: dos_cvrt.c,v 1.5 1998/11/23 05:32:21 student1 Exp $";/* REVISION HISTORY: * $Log: dos_cvrt.c,v $ * Revision 1.5  1998/11/23 05:32:21  student1 * Completed utility & tested ok. * * Revision 1.4  1998/11/23 05:04:23  student1 * Coded basename test * * Revision 1.3  1998/11/21 22:49:39  student1 * Demonstration of RCS substitutions */#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>intmain(int argc,char **argv) {    char *base_name = 0;    /* Basename of command */    int ch;                 /* Current input character */    int cr_flag;            /* True when CR prev. encountered */    FILE *in = 0;           /* Input file */    /*     * Determine the basename of the command name. This     * is necessary since this command could be invoked     * with a pathname. For example, argv[0] could be     * "/usr/local/bin/unix_cvrt" if it was installed     * in the system that way.     */    if ( ( base_name = strrchr(argv[0],'/') ) != 0 )        ++base_name;        /* Skip over '/' */    else        base_name = argv[0];/* No dir. component */    /*     * Open the input file:     */    if ( argc != 2 ) {        fprintf(stderr,"Missing input file.\n");        return 1;    }    if ( !(in = fopen(argv[1],"r")) ) {        fprintf(stderr,"Cannot open input file.\n");        return 2;    }    /*     * Now that we know the basename of the command     * name used, we can determine which function we     * must carry out here.     */    if ( !strcmp(base_name,"unix_cvrt") ) {        /* Perform a UNIX -> DOS text conversion */        while ( (ch = fgetc(in)) != EOF ) {            if ( ch == '\n' )                putchar('\r');            putchar(ch);        }    } else {        /* Perform a DOS -> UNIX text conversion */        cr_flag = 0;    /* No CR encountered yet */        while ( (ch = fgetc(in)) != EOF ) {            if ( cr_flag && ch != '\n' ) {                /* This CR did not preceed LF */                putchar('\r');            }            if ( !(cr_flag = ch == '\r') )                putchar(ch);        }    }    fclose(in);    return 0;}

⌨️ 快捷键说明

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