zoukankan      html  css  js  c++  java
  • 回车符与换行符问题——C语言

    回车符(carriage return,’ ’)与换行符 (line feed,’ ’)

    换行对应的ASCII码值是10,回车符对应的ASCII码值是13,需要注意的是用户按下回车键时,对于不同的字符输入函数读取的字符不同,下面上代码

    测试一:

    int main()
    {
        char ch;
    
        ch = getchar();
        printf("%d
    ", ch);
    }

    运行结果:

     

    测试二:

    int main()
    {
        char ch;
    
        ch = getch();
        printf("%d
    ", ch);
    }

    运行结果:

    测试三:

    int main()
    {
        char ch;
    
        ch = getche();
        printf("%d
    ", ch);
    }

    运行结果:

    测试四:

    int main()
    {
        char ch;
    
        scanf("%c", &ch);
        printf("%d
    ", ch);
    }

    运行结果:

    从上面的结果可以看出,虽然输入都是“回车键”(注意是回车键不是回车符)但得到结果却有差异,需要注意的是:在Windows系统中回车键被当做  的组合来使用,当我们从键盘输入回车键时,Windows系统会把回车键当做  来处理(只不过上面的四种字符输入函数读取的结果不同

    getchar——换行符' '(ASCII值为10)

    getch——回车符' ' (ASCII值为13)

    getche——回车符' ' (ASCII值为13)

    scanf——换行符' ' (ASCII值为10)

    回车:使光标移到行首

    换行:使光标移到下一行

     

    下面再补充下文件操作函数,从文本文件(txt文件)用fscanf_s读取(前提条件:先创建一个txt文件按一下回车键,然后保存)

    char ch;
    FILE *fp;
    errno_t err;
    
    err = fopen_s(&fp, "E:\ww.txt", "r");
    fscanf_s(fp, "%c", &ch, sizeof(ch));
    
    printf("%d
    ", ch);

    运行效果:

    从上面可以看出fscanf_s和scanf对回车键的读取是相同的,都是得到的换行符' '(ASCII值为10)

     

    使用fgetc读取

    int main()
    {
        char ch;
        FILE *fp;
        errno_t err;
    
        err = fopen_s(&fp, "E:\ww.txt", "r");
        ch = fgetc(fp);
        printf("%d
    ", ch);
        if (ch == '
    ')
        {
            printf("***");
        }
    
        return 0;
    }

    运行结果:

    从上面的结果可以看出fgetc和fscanf_s读取的字符相同,都是读取到的换行符' '(ASCII值为10)

  • 相关阅读:
    CentOS6找回root密码
    Python3——装饰器及应用(这个属于详细的)
    python3 类的相关内容
    python--- 解释‘yield’和‘Generators(生成器)
    Python 基本类型:元组,列表,字典,字符串,集合 梳理总结
    python3 推导式大总结
    Python3 的描述符--完整例子详细解释
    类 Class 对象、定义、方法
    Python3基础 __repr__ 类的实例对象的名字 可以打印文字(2)
    Python3基础 __repr__ 类的实例对象的名字 可以打印文字(1)
  • 原文地址:https://www.cnblogs.com/lanhaicode/p/10645542.html
Copyright © 2011-2022 走看看