C语言学习第十四讲-操纵键盘,打印机,屏幕

原创 2007年09月17日 11:01:00

程序的输入,输出

输入:外部移到ram 中

输出:发送到外部的某个地方

流的模式

文本模式:只包括字符.每行最多255,以换行符结尾.

二进制模式:不限于文本数据.

五个标准流

1111111111111111

两个重要概念

缓冲:把所有的字符保存在临时存储空间,当用户按下enter键时,把它们发送到stdin中.

回显:有些输入函数将每个字符回显到stdout中.

输入函数分为三类:

字符输入:每次从流中读取一个字符.

getchar()读取stdin中的下一个字符,具有缓冲和回显的功能.

getch(),不缓冲,不回显

getche():只回显

getchc(),fgetchc():不会自动使用stdin,而让用用户指定输入流.

%n,%r区别

%n相对于缓冲的输入函数会自动将空格转化为换行符,因此检查是否为%n,确定是否按下enter.

%r相对于不缓冲的输入函数则不进行这种转换,所以仍为%r

行输入:读取换行符之前的所有字符.

gets():从stdin读取一行,并储存在字符串中.将char指针作用参数,并返回char指针.

fgets():和gets()类似,不过更灵活,可以指定流

格式化输入:

scanf()

fscanf():指定流

两种处理输入多余字符的方法:

1,函数

void clear_kb(void)

{

char junk[80];

gets(junk);

}

2,fflush(stdin);

字符输出类似

puts():显示字符串

fputs():指定流

重定向输入,输出:

重定向输入输出

相关文章推荐

Linux下C语言键盘输入密码时无回显(屏幕不显示字符)

#include #include #include #include #define ECHOFLAGS (ECHO | ECHOE | ECHOK | ECHONL) //函数set_di...
  • cghver
  • cghver
  • 2011年12月15日 09:25
  • 5195

机器学习 第十四讲:GMM与EM算法

  • 2015年04月25日 16:25
  • 174KB
  • 下载

台湾国立大学机器学习基石.听课笔记(第十四讲):Regularization

台湾国立大学机器学习基石.听课笔记(第十四讲):Regularization 1,Regularization Hypothesis set 我们有上一讲的假设集合可知: 我们发现发生overfi...

使用C#语言实现的 屏幕键盘

  • 2008年08月18日 15:41
  • 219KB
  • 下载

71 C语言非阻塞式键盘监听

C语言非阻塞式键盘监听

C语言中如何清空键盘缓冲区,Linux和Windows下完美实现

在linux下调试程序,遇到了用户输入问题,具体说就是getchar() scanf()问题,用了rewind(),fflush()方法都不好使,看了一篇文章后才知道linux下得用setbuf(),...

C语言控制台窗口图形界面编程(七):键盘事件

输入事件中的键盘事件通
  • JZQT_T
  • JZQT_T
  • 2014年06月17日 13:40
  • 2238

嵌入式C语言专题四:键盘操作篇

计算机学的许多知识都具有相通性,因而,不断追赶时髦技术而忽略基本功的做法是徒劳无意的。我们最多需要"精通 "三种语言,最佳拍档是汇编、C、C++(或JAVA),很显然,如果你"精通"了这三种语言,其它...
  • jeffade
  • jeffade
  • 2012年06月05日 20:49
  • 257
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言学习第十四讲-操纵键盘,打印机,屏幕
举报原因:
原因补充:

(最多只允许输入30个字)