您的位置:首页 > 编程语言 > C语言/C++

C++ 字符串读入问题

2017-07-04 12:16 218 查看
一.对于字符数组:方法一:getline()读入整行数据,它使用回车键输入的换行符来确定输入结尾。调用方法: cin.getline(str, len);第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。int main(){char str[30];cin.getline(str, 30);cout << str << endl;return 0;}二.对于string类方法一:getline(cin, str)这说明这里的getline不是类方法。#include <string>using namespace std;int main(){string str;getline(cin, str);cout << str << endl;return 0;}

包含其他输入后读入多行字符串

  例如一些编程题要求先输入字符串行数,然后再一行一行读入字符串。如果正常顺写编程的话,会发现第一行字符串读入的是空,后续才能正常录入每行字符串。   这是因为第一行输入一个int数据后,换行符并没有被忽略,直接被准备读入第一行字符串的getline俘获。   所以需要在第一行输入一个int数据后,调用cin.ignore()忽略下面的一个流录入,将其抛弃。 int N;cin>>N;cin.ignore(); //取消换行键的读入string strCinLine[100];for(int i =0;i<N;i++)getline(cin,strCinLine[i]);

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: