zhipengyoga

C++每次读取一行字符串输入(学习笔记)

1. 面向行的输入:getline()
getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。
cin.getline(Arr, 20) // Arr为用来输入行的数组的名称;
                       
//20包括19个字符和1个空字符  


2. 面向行的输入:get()
与getline()的工作方式类似,接受参数相同,但get()并不再读取并丢弃换行符,而是将其留在输入队列中。可如下使用:
cin.get(Arr1, ArSize); // 读第一行
cin.get();             // 读掉换行符
cin.get(Arr2, ArSize2); // 读第二行

////////////////////////////////////////或者

cin.get(Arr1, ArSize).get();
cin.get(Arr2, ArSize2);


3. 字符串输入:getline(cin, srt)
getline(cin, str); // str为string类型  getline()需要#include<string>


4. 输入时遇错误类型时
int int nTemp;
cout << "Please enter handicap(int): " << endl;
    while (!(cin >> nTemp))
    {
        cin.clear();//重置输入,如果省略这条,程序将拒绝继续读取输入
        while (cin.get() != '\n')//本循环使用 cin.get() 来读取尾行之前的所有输入,从而删除这一行
            continue;
        cout << "Please input a integer: ";
    }

posted on 2014-02-18 22:36 刘志鹏 阅读(9494) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


导航

<2020年4月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

统计

常用链接

留言簿

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜