博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C/C++ 输入输出
阅读量:5291 次
发布时间:2019-06-14

本文共 2079 字,大约阅读时间需要 6 分钟。

使用printf()函数和scanf()函数,要声明头文件#include <stdio.h>

1. printf()函数

形式: printf("格式控制字符串",输出表列);

功能:通过标准输出设备(如显示器)输出一组数据,输出形式由“格式控制”字符串规定。

例如: printf("%4d,%4d",a,b);

 

2. scanf()函数

形式: scanf("格式控制字符串",地址表列);  //其中地址表列由若干个变量地址组成的,地址是由"&"运算得到的

功能: 从终端输入任何类型的多个数据

注意事项:在终端输入数据时,采用的分隔符应与格式控制中的分隔符一致。

在下列情况下可认为数据输入结束:

1)遇到空格、回车、tab时

2)遇宽度结束

3)非法输入

3. puts() : 输出字符串,只需要给出字符串的地址即可(字符串常量、char数组名、char指针等等),且puts()在输出时,会自动在行尾加上一个换行符(即不需要自己换行)

4. gets() :

gets()可以接收输入字符串中的空格、tab键和回车

语法:gets(字符数组名或指针);

*gets与scanf()的区别:

gets()可以接受回车键之前输入的所有字符,并用'\n'替代'\0',回车键不会留在缓冲区中,且gets()只能读取字符串;

scanf()当遇到回车、空格和tab键时会自动在字符串后面添加'\0',但是回车、空格和tab键仍会留在输入的缓冲区中,scanf()可以读取任意类型的数据;

可以用一段代码测试一下:

#include 
int main(){ char ch1[10], ch2[10], c1, c2; scanf("%s",ch1); c1=getchar(); gets(ch2); c2=getchar() ; return 0;}

依次键入asdfg回车,asdfg回车,则ch1="asdfg\0", c1='\n',ch2="asdfg\0", c2需要输入。

5. getchar()

当程序调用getchar时,程序在等待用户输入。用户输入的字符被存放在键盘缓冲区中,直到用户按回车为止(回车也会放到缓冲区中)。因此,getchar()也会读取回车字符。如果用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓冲区中,等待后续getchar()调用读取,即后续的getchar()调用不会等待用户按键,而是直接读取缓冲区中的字符,直到缓冲区中的字符读完。

6. getline() 函数

C++中为了使用的方便,C++在标准库中添加了getline()函数,C++对不同的输入流对象都定义了一个getline函数。

对于标准输入来说,头文件<iostream>中声明了getline函数。

istream::getline

istream& getline(char* s, streamsize n);

istream& getline(char* s, streamsize n, char delim); //delim参数是指定分隔符,如果不指定默认使用'\n'。

#include 
using namespace std;int main(){ char line[100]; while(cin.getline(line,100)) cout<
<

C++中还定义了一个std命名空间的全局函数,因为这个getline函数的参数使用了string字符串,所以声明在了<string>头文件中了。

声明如下:

istream& getline(istream& is, string& str, char delim);

istream& getline(istream& is, string& str);

*C++中的getline()函数读取空白符,但不读取换行符。

*gcc中也定义了getline()函数,但是在这里不再进行赘述。

7. C++ 一次性读入一行数字,并且保存在数组中

#include 
#include
#include
#include
using namespace std;int main(){ string line; getline(cin,line); stringstream ss; ss<
num; while(ss>>n) num.push_back(n); return 0;}

 

转载于:https://www.cnblogs.com/summerkiki/p/5239277.html

你可能感兴趣的文章
c++回调函数
查看>>
神经网络初探
查看>>
linux下Rtree的安装
查看>>
【Java】 剑指offer(53-2) 0到n-1中缺失的数字
查看>>
Delphi中ListView类的用法
查看>>
POJ 1202 Family 概率,DP,高精 难度:2
查看>>
jquery元素查找方法
查看>>
纯代码Tom
查看>>
C Looooops(poj2115+扩展欧几里德)
查看>>
Monkey测试
查看>>
二、Statement 、PreparedStatement 、CallableStatement
查看>>
selenium学习
查看>>
bzoj3110: [Zjoi2013]K大数查询 【树套树,标记永久化】
查看>>
javascript学习教程之---如何从一个tab切换到banner幻灯片的转换
查看>>
psp进度统计
查看>>
perl字符串映射函数
查看>>
鱼和豆腐一起吃
查看>>
转载:编剧技巧思路乱谈
查看>>
Linux centos7 rsync工具介绍、rsync常用选项、rsync通过ssh同步
查看>>
函数堆栈
查看>>