getline(cin, s),cin.getline(s,num)和cin.get(s,num)的区别
编辑:谯胜平 分类:程序与算法 标签:getline() 发布时间:2020-03-10 浏览次数:535次
1、getline(istream cin, string str, [char delim])或getline(输入流,字符串,[结束符])
注意,保存输入的为string字符串,因此需要引入string和iostream头文件。
#include<iostream> #include<string> using namespace std; int main(){ string str; cout << "输入: "; getline(cin, str); //默认结束符为'\n' cout << "输出: " << str << "\n"; cout << "输入: "; getline(cin, str, '?'); //指定结束符为'?' cout << "输出: " << str << "\n"; return 0; }
2、cin.getline(char *chr, int num, [char delim])或cin.getline(字符数组,接收长度,[结束符])
这里保存输入的字符采用的是字符数组,接收长度是必须的,num表示在不遇到结束符之前,最多读取num-1个字符。会读取换行符并转换为'\0'进行存储。size需要比输入的字符串长度大才能保证数据正确。
#include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main(){ char str[10]; printf("输入:"); cin.getline(str, 20); //size遇到大于输入的字符串长度 printf("输出:%s\n", str); printf("输入:"); cin.getline(str, 5, '?'); printf("输出:%s\n", str); return 0; }
3、cin.get(char *char, int num, [char delim])或cin.get(字符数组,接收长度,[结束符])
用法同cin.getline()类似,唯一的区别是会保留换行符在缓冲区内。
#include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main(){ char str[10]; printf("输入:"); cin.get(str, 20); printf("输出:%s\n", str); printf("输入:"); cin.get(str, 5, '?'); //这里读取的内容中有一个换行符 printf("输出:%s\n", str); return 0; }
热门文章
猜你喜欢
文章标签
- 考研经验(10)
- 计算机考研(8)
- 408(1)
- 数学一(1)
- codeup(4)
- 字符串处理(5)
- web(3)
- 学科评估(2)
- scanf(2)
- gets(1)
- getchar(1)
- sublime text(2)
- java(1)
- 五子棋(1)
- printf(1)
- 最大公约数(1)
- 最小公倍数(1)
- mysql(1)
- 作息时间(2)
- STL(1)
- PAT(2)
- 富文本编辑器(1)
- 数据类型(1)
- 完全二叉树(1)
- 闰月(1)
- 晴天的魔法乐园(6)
- 递归(1)
- 棋盘覆盖问题(1)
- PPT模板(1)
- 谷歌(1)
- unzip(1)
- gcc(1)
- ubuntu(1)
- getline()(1)
- 日历(1)
- 作息时间表(1)
友情链接