C++输入一行字符串的一点小结
C++输入一行字符串的一点小结
原文链接:
http://www.wutianqi.com/?p=1181
大家在学习C++编程时。一般在输入方面都是使用的cin.
而cin是使用空白(空格,制表符和换行符)来定字符串的界的。
这就导致了对于带有空格的字符串。比方”I Love C++奋斗乐园论坛”
仅仅能读入”I”,后面的都无法读入。
这时怎么办?
一.对于字符数组:
方法一:getline()
读入整行数据,它使用回车键输入的换行符来确定输入结尾。
调用方法: cin.getline(str, len);
第一个參数str是用来存储输入行的数组名称。第二个參数len是要读取的字符数。

2 using namespace std;
3
4 int main()
5 {
];
);
8 cout << str << endl;
;
}

方法二:get()
调用方法:cin.get(str, len);

2 using namespace std;
3
4 int main()
5 {
];
);
8 cout << str << endl;
;
}

那么两者有何差别?
两者都读取一行输入。直至换行符。
然后,getline将丢弃换行符。而get()将换行符保留在输入序列里。
所以,再使用cin.get()输入多行数据时,中间能够使用get()消除换行符。

2 using namespace std;
3
4 int main()
5 {
], str2[];
);
8 cin.get();
);
cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
;
}

由于get(str, len)和get()都是cin的类成员。所以能够合并起来写:

2 using namespace std;
3
4 int main()
5 {
], str2[];
).get(); // 注意这里!
);
9 cout << "str1: " << str1 << endl;
cout << "str2: " << str2 << endl;
;
}

(欢迎大家去我论坛学习:C++奋斗乐园: www.cppleyuan (dot) com)
二.对于string类
方法一:getline(cin, str)
这说明这里的getline不是类方法。

2 #include <string>
3 using namespace std;
4
5 int main()
6 {
7 string str;
8 getline(cin, str);
9 cout << str << endl;
;
}

C++输入一行字符串的一点小结的更多相关文章
- 转:C++输入一行字符串的一点小结
原文链接: http://www.wutianqi.com/?p=1181 大家在学习C++编程时,一般在输入方面都是使用的cin.而cin是使用空白(空格,制表符和换行符)来定字符串的界的.这就导致 ...
- 使用getline输入一行字符串
给定10个国家名,按字母顺序输出,国家名中可以包含空格,国家名用换行隔开 #include<algorithm> #include<iostream> #include< ...
- c++ 输入一行字符串
]; //cin>>str1; 方式1 不能统计(录入)空格后的字符 cin.); //方式2 能统计空格后输入的字符 按回车键输入结束 get()会将换行符保存在序列里 //gets(s ...
- 【Python】利用递归函数调用方式,将所输入的字符串,以相反的顺序显示出来
源代码: """ 利用递归函数调用方式,将所输入的字符串,以相反的顺序显示出来 string_reverse_output():反向输出字符串的自定义函数 pending ...
- python输入一行字符,判断不同字符数量
输入一行字符,判断不同字符的数量, 分别用for循环和while循环完成 for循环 运用了字符串方法, isupper()判断是否为大写字母 islower()判断是否为小写字母 isdigit() ...
- 汇编语言从键盘输入一个字符串(串长不大于80)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z)
(1)从键盘输入一个字符串(串长不大于80). (2)以十进制输出字符串中非字母字符的个数(不是a to z或 A to Z). (3)输出原字符串且令非字母字符闪烁显示. (4)找出字符串中ASCI ...
- python基础练习题(题目 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数)
day10 --------------------------------------------------------------- 实例017:字符串构成 题目 输入一行字符,分别统计出其中英 ...
- string.Format出现异常"输入的字符串格式有误"的解决方法
string.Format出现异常"输入的字符串格式有误"的解决方法 今天在做项目时,碰到一个很奇怪的问题,我使用string.Format居然报“输入的字符串格式有误”的错误,我 ...
- 20150912华为机考1之"输入一个字符串,将其中出现次数最多的字符输出"
不吐槽华为的服务器了,直接上正文 输入:字符串(英文字母),长度不超过128 输出:出现频率最高的字母 思路写在注释文档 /* Input a string * Output the most fre ...
随机推荐
- [POJ2417]Discrete Logging(指数级同余方程)
Discrete Logging Given a prime P, 2 <= P < 2 31, an integer B, 2 <= B < P, and an intege ...
- linux环境内存分配原理 mallocinfo【转】
转自:http://www.cnblogs.com/dongzhiquan/p/5621906.html Linux的虚拟内存管理有几个关键概念: Linux 虚拟地址空间如何分布?malloc和fr ...
- 标准C程序设计七---43
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- Day 17 编码+文本编辑+函数
知识点篇: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/ ...
- LeetCode OJ——Plus One
http://oj.leetcode.com/problems/plus-one/ 进位加法 #include <iostream> #include <vector> usi ...
- js、jq平时积累
1.window.onbeforeunload = function(){$(window).scrollTop(0);} //在即将离开当前页面(刷新或关闭)时执行 JavaScript ...
- 小程序-初次进入小程序的授权问题(授权更新后的完整步骤)button主动授权
在此做个笔记 最开始小程序的开发时,信息授权的问题刚完善,后面腾讯就更新了新的授权方式,真心的感到心累. 后来的button,主动授权问题,时间一久就有些忘记了,最近在新开发一个小程序的拆红包活动,需 ...
- SPOJ 7001 VLATTICE【莫比乌斯反演】
题目链接: http://www.spoj.com/problems/VLATTICE/ 题意: 1≤x,y,z≤n,问有多少对(x,y,z)使得gcd(x,y,z)=1 分析: 欧拉搞不了了,我们用 ...
- 洛谷—— P1577 切绳子
https://www.luogu.org/problemnew/show/P1577 题目描述 有N条绳子,它们的长度分别为Li.如果从它们中切割出K条长度相同的 绳子,这K条绳子每条最长能有多长? ...
- 用LCT解一类动态图的问题
很显然,学过了LCT,大家一定都会用LCT来维护动态树结构了 那么,遇到图问题的时候,是不是也能用lct来解决呢? 解决图问题的时候,我们必须要仍然维护一棵树的形态,否则,lct是做不动的 那么下面来 ...