美文网首页
Linux C 编程详解第三篇:man手册以及字符处理

Linux C 编程详解第三篇:man手册以及字符处理

作者: Mr_Ray | 来源:发表于2017-02-18 23:50 被阅读0次
    man 手册
    • man 1 : 命令
    • man 2 : 系统调用
    • man 3 : C库函数
    参数查询
    • vim -t 参数名
    • 继续向下查找; ctrl + ]
    • 返回上一层; ctrl + o
    • vim -t 需要安装 ctags
      • 解压内核 tar -vxf 压缩文件
      • 切换到内核目录下ctags -R 生成tags文件
      • 配置~/.vimrc 加入一行 set tags+=tags路径
    格式输出函数 : int printf("格式控制串", 输出表);
    • 参数 : 格式控制串 : % 修饰符 格式符
    • 作用 : 按照格式控制串指定的格式打印输出表中的内容.
    • 如果格式控制串为字符串 , 则原样输出.
    • 格式符 : d u x f p
    • 修饰符 : m .n
    • 输出表 : 可以为多个内容, 输出内容之间以逗号进行分隔.
    • 返回值: 返回的是正确输出的字符的个数.
    命令模式下

    gg 跳转到文件开头

    shift + v 进入可选模式

    G 跳转到文件的结尾,完成全选

    练习:

    1.大小写转换
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        char ch;
        ch = getchar();
    
        if(ch >= 'a' && ch <= 'z')
        {
            printf("%c\n", ch-32);
        }
        else if(ch >= 'A' && ch <= 'Z')
        {
            printf("%c\n", ch + 32);
        }
        else
        {
            printf("error\n");
    
        }
        return 0;
    }
    
    2.输入一个日期, 输出该日期为本年的第几天.
    #include <stdio.h>
    
    int main(int argc, const char *argv[])
    {
        int year, month, day, date = 0;
        int flag = 0;
        printf("请输入一个日期,如2016-11-1\n");
        scanf("%d-%d-%d", &year,&month,&day);
    
        if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
        {
            flag = 1;
        }
    
        if(day < 1 || day > 31)
        {
            printf("输入有误1, 退出\n");
            return -1;
        }
    
        if(day == 31)
        {
            if(month == 2 || month == 4 || month == 6 || month == 9 || month == 11)
            {
                printf("输入有误2,退出\n");
                return -1;
            }
        }
    
        if(month == 2 && flag == 0)
        {
            if(day > 28)
            {
                printf("输入有误3, 退出\n");
                return -1;
            }
        }
        if(month == 2 && flag == 1)
        {
            if(day > 29)
            {
                printf("输入有误4, 退出\n");
                return -1;
            }
        }
    
        switch(month)
        {
        case 12:
            date = 30 +date;
        case 11:
            date = 31 + date;
        case 10:
            date = 30 + date;
        case 9:
            date = 31 + date;
        case 8:
            date = 31 + date;
        case 7:
            date = 30 + date;
        case 6:
            date = 31 + date;
        case 5:
            date = 30 + date;
        case 4:
            date = 31 + date;
        case 3:
            date = 28 + date + flag;
        case 2:
            date = 31 + date;
        case 1:
            date = day + date;
            break;
        default:
            printf("输入月份有误, 退出\n");
            return -1;
        }
    
        printf("该日期为%d年的第%d天\n", year, date);
        return 0;
    }
    

    相关文章

      网友评论

          本文标题:Linux C 编程详解第三篇:man手册以及字符处理

          本文链接:https://www.haomeiwen.com/subject/wrbdwttx.html