C风格的输入输出

(1) int getchar() 与 int putchar(int c)

getchar从stdin输入流中读取字符,每次只能读取一个字符。若想一次性读取多个字符,则可将其放入循环中。getchar读取所有类型的字符,包括空格。

putchar将一个字符打印到屏幕上,每次只能打印一个字符。例如:

char a;
while( (a=getchar()) != 'e')   ##输入流中是一长串的窗口输入,getchar()从输入流中挨个读取字符,写入到a中,当碰到字符e时,终止循环。
   putchar(a);  ## 该处也可用 printf("%c", a);

(2) char* gets(char *s)和 int puts(const char* s)

char* gets(char *s)函数从stdin中读取一行到s指向的缓存空间中, 一个新行或者EOF符号作为一次读取的终结。

例如:

char str[100];

gets(str);

printf("\n You entered: ");

puts(str);

gets(str)同样可以用在循环中,作为判定条件。C++中也使用std::gets函数,该函数在C++11中被deprecated(弃用,仍然可以用),在C++14中将被完全移除。

(3) int scanf(const char* format, ... )和 int printf(const char* format, ...)

format可以是%s(字符串), %d(整数), %c(字符), %f(浮点数)等。

scanf可以忽略空格。scanf("%d', &a); 级联输入方式:

int a,b;

scanf("%d %d", &a, &b);

该中输入方式也可作为循环的判定条件,while(scanf("%d %d", &a, &b)) 和下述C++风格的输入std::cin类型,输入数据类型和变量的声明类型不同时,scanf函数返回0, 循环终止。

#########C++风格的输入输出###########

输入方式为std::cin>> a, 也可以采用级联输入的方式std::cin>>a>>b. 该输入方式可以忽略空格。

需要注意的是最终得到的输入值和a,b声明的类型有很大关系,例如:

int a;

char b;

cin>>a>>b;

编译后,加载运行时,输入29, 29. 则最终得到的a=29, 而b=2。即a被定义为一个算数类型int,29输入到a中,b被定义为一个字符类型,只读取第一个字符2.

同时也要注意 cin>>a的返回类型,例如:

while(cin>>a)

当输入类型与a的声明类型不一致时,cin>>a会返回0,跳出while循环。当输入类型一致时,返回一个非零值,循环继续。

输出方式为std::cout<< c<< endl. endl为换行,使用很简单,在此不赘述。

C/C++-style输入输出函数的更多相关文章

  1. c语言的输入输出函数

    参考文章: http://blog.sina.com.cn/s/blog_784f40b80100psg9.html C语言输入输出函数分为两类: 1.格式化输入输出函数 2.非格式化输入输出 --- ...

  2. C语言中最常用的三种输入输出函数scanf()、printf()、getchar()和putchar()

    本文给大家介绍C语言中最常用的三种输入输出函数scanf().printf().getchar()和putchar(). 一.scanf()函数格式化输入函数scanf()的功能是从键盘上输入数据,该 ...

  3. C语言中输入输出函数

    1.1.1 格式化输入输出函数Turbo C2.0 标准库提供了两个控制台格式化输入. 输出函数printf() 和scanf(), 这两个函数可以在标准输入输出设备上以各种不同的格式读写数据.pri ...

  4. Linux C 程序 输入输出函数(THREE)

    标准输入输出函数#include<stdio.h>stdio 是 standard input & output 的缩写 字符数据输入输出函数: putchar() , getch ...

  5. c语言输入输出函数

    上学年学习c语言的时候比较匆忙,没好好吸收. 现在有时间好好复习下. 本文就c语言常见输入函数进行简单介绍,对比. ps:由于自己能力有限,时间有限,多数介绍,总结都是摘录网上相关学习资料,下面给出本 ...

  6. C字符串输入输出函数

    下面就几个常用的字符串输入输出函数做个小小的总结TAT 使用时添加头文件:#include<stdio.h>. scanf("格式控制字符串",变量地址列表):(pri ...

  7. C++中的字符串的输入输出函数、空字符与空格的区别、字符变量赋值和字符串初始化

      一.字符串输入输出函数 1.  cin.get()   逐个字符输入输出 2.  cin 可以将整个字符串一次性输入,但是,cin将空格.Tab和回车键,因此不能用于数组的一次性输入. 注意:ci ...

  8. C语言 · 字符串输入输出函数

    算法提高 3-2字符串输入输出函数   时间限制:1.0s   内存限制:512.0MB      描述 编写函数GetReal和GetString,在main函数中分别调用这两个函数.在读入一个实数 ...

  9. 【222】◀▶ IDL 输入输出函数说明

    参考:I/O - General Input/Output Routines —— 基本输入输出函数 01   PRINT/PRINTF 格式化输出. 02   READ/READF 格式化输入. 0 ...

随机推荐

  1. Go Code

    目录 备注工作空间(Workspaces)GOPATH环境变量包路径(Package Path)你的第一个程序你的第一个类库包名字(Package Name)测试集成备注 备注返回目录 此文主要是对官 ...

  2. Easyui + asp.net MVC 系列教程 完成登录

    Easyui + asp.net MVC 系列教程 第09-17 节 完成登录 高清录制 前面八节 在这里 Easyui + asp.net mvc + sqlite 开发教程(录屏)适合入门 在接下 ...

  3. JBPM4 安装和配置

    安装和配置jBPM4,并举个hello.w   至于网上很复杂,但又不懂的插件,我们先不鸟他. myeclipse8\dropins这里就是给我们放插件的,类似SVN之类的.所以小生也修改了下,共享了 ...

  4. Android Jni引用第三方库

    在jni下新建文件夹(jniLib)用来存放第三方so库: 将so拷贝到jniLib下,新建一个Android.mk文件: LOCAL_PATH:= $(call my-dir) include $( ...

  5. 测试HashTable、Collections.synchronizedMap和ConcurrentHashMap的性能

        对于map的并发操作有HashTable.Collections.synchronizedMap和ConcurrentHashMap三种,到底性能如何呢? 测试代码: package com. ...

  6. AppDomain卸载与代理

    AppDomain卸载与代理 涉及内容: 反射与MEF解决方案 AppDomain卸载与代理 WinForm.WcfRestService示 插件系统的基本目的是实现宿主与组件的隔离,核心是作为接驳约 ...

  7. WebService的简单实现

    WebService的简单实现 一.socket主机创建和使用过程 1.socket()//创建套接字 2.Setsockopt()//将套接字属性设置为允许和特定地点绑定 3.Bind()//将套接 ...

  8. Liferay的架构:缓存(第一部分)

    这次,我将要涉及到一个非常重要的概念:缓存.在当今的web应用中,如果没有设计一个比较好的缓存系统,在web中就不可能有一个良好的性能.所以我将要 提到的缓存不仅仅能够更好地理解Liferay架构,而 ...

  9. HTML <textarea> 标签的 wrap 属性

    HTML <textarea> 标签的 wrap 属性 wrap 属性 通常情况下,当用户在输入文本区域中键入文本后,浏览器会将它们按照键入时的状态发送给服务器.只有用户按下 Enter ...

  10. ClassLoader的等级加载机制

    摘自深入分析java web技术内幕