简明现代魔法 -> C/C++ -> C 程序设计:字符的输入输出

C 程序设计:字符的输入输出

2010-02-14

问题:我在键盘输入一个字符串,你把同样的字符串输出。

问题解决方案如下:

#include <stdio.h>

/* 将输入复制到输出 Version 1.0 */
main()
{
	int c;
    
    c = getchar();
    
    while(c != EOF){
    	putchar(c);
        c = getchar();
    }
}

Standard Library 提供了一次读/写一个字符的函数,其中最简单的是 getchar() 和 putchar()。每次调用时,getchar() 从文本流中读入下一个输入字符,并将其作为结果返回。举个例子吧:

c = getchar();  

在执行了以上语句之后,变量 c 将包含输入流的下一个字符。这种字符通常是通过键盘输入的。

字符无论以什么方式出现都好,它在机器内部都是以位模式存储的。char 类型专门用于存储这种字符型数据。

那么如何让程序结束呢?我们可以输入一个类似结束符一样的东西。C 语言的解决方案是,在没有输入时,getchar() 函数将返回一个特殊值。这个特殊值与任何实际字符都是不相同的。这个值称为 EOF(end of file 文件结束)。

EOF 是在头文件 stdio.h 中定义的,所以可以在程序中随时使用。

以上程序可以写得更简练:

#include <stdio.h>

/* 将输入复制到输出 Version 2.0 */
main()
{
	int c;
    
    while((c = getchar()) != EOF){
    	putchar(c);
    }
}

究竟发生了什么状况呢?while 循环首先读一个字符赋给 c,然后测试该字符是否为文件的结束标志。

这个程序将输入集中化了,getchar() 函数只出现了一次,这样就缩短了程序,整个程序看起来就会比较紧凑。

随机文章推荐
网站分类


注:如需转载本文,请注明出处(原文链接),谢谢。更多精彩内容,请进入简明现代魔法首页。

进入新博客
喜欢本文,就分享它吧
给我留言
您的名字:
您的邮件:
您的网站:


 

copyright © 2009 简明现代魔法    学习、分享、进步

power by Gonn 感谢所有关心和支持本站的朋友们