读书人

LINUX-C生长之路(三):基本IO函数操

发布时间: 2012-12-22 12:05:05 作者: rapoo

LINUX-C成长之路(三):基本IO函数操作

在学习C语言的时候,基本的输入输出是非常重要的,因为我们时常要接收用户的输入,而且时常要将结果输出到屏幕,因此非常有必要注重地学习一下。


最常用的两个基本IO函数莫过于 printf() 和 scanf() 了,下面首先来详细地介绍一下它们。来看第一个示例代码:

//example5.cint main(void){        printf("请输入一个整数\n");        int n, ret;        while(1)        {                ret = scanf("%d", &n);                if(ret != 1)                {                        while(getchar() != '\n'); // 用 getchar() 清空非法字符                        printf("格式不对,请再输一遍!\n");                }                else                         break;        }        printf("你输入的数是: %d \n", n);}
其中,我们增加了第 15 行,这是一个空循环,循环条件是 getchar() != '\n' ,这句话的意思是,用getchar() 这个函数去缓冲区拿取数据,每次拿去一个字符,只要不是回车符 '\n' ,就继续循环,直到拿到回车符为止。 为什么是回车符呢? 因为用户再输入的时候,最后一定是按了一下回车键来结束输入的(本质原因是标准输入流是行缓冲类型的),因此在缓冲区中的数据一定是以 回车符 '\n' 作为结尾的,当我们用 getchar() 获取到回车符时,就表示缓冲区就被我们清空了!

读书人网 >UNIXLINUX

热点推荐