zoukankan      html  css  js  c++  java
  • cin,get,getline

    一、cin

    1.cin使用空白(空格、制表符和换行符)来确定字符串结束的位置,并且对于换行符,cin会把换行符留在输入队列。cin读取字符串放到数组中,并自动在结尾添加空字符。

    例如:

    char name[20];
    cin>>name;
    
    输入:David Smith
    cin只会把David放到name数组中并添加空字符''
        cout << "What year was your house built?
    ";
        int year;
        cin >> year;
        // cin.get();
        cout << "What is its street address?
    ";
        char address[80];
        cin.getline(address, 80);
        cout << "Year built: " << year << endl;
        cout << "Address: " << address << endl;
        cout << "Done!
    ";
        // cin.get();
        return 0; 
    输入:
    1996
     如果没有cin.get(),cin>>year会把换行符留在输入队列,则cin.getline会把读取换行符并丢弃掉,address字符串为空

    2.发送给cin的输入被缓冲,只有用户按下回车键后,输入的内容才会发送给程序。

        char ch;
        int count = 0;      // use basic input
        cout << "Enter characters; enter # to quit:
    ";
        cin >> ch;          // get a character
        while (ch != '#')   // test the character
        {
            cout << ch;     // echo the character
            ++count;        // count the character
            cin >> ch;      // get the next character
        }
        cout << endl << count << " characters read
    ";
    输入:
    see ken run#really fast
    输出:
    seekenrun

    cin忽略空格和换行符,所以输入的空格没有回显;发送给cin的输入被缓冲,所以输入#后,后面还可以输入其他字符;

    二、cin.getline()

    getline 读取一行字符串,直到到达换行符,随后getline将丢弃换行符。

    三、cin.get()

    1.cin.get(str,num)

    读取一行字符串,直到到达换行符,将换行符保留到输入序列中。

    2.cin.get(char) 读取一个字符

    cin.get(ch)读取输入中的下一个字符(包括空格和换行符),但输入仍被缓冲。

    3.cin.get() 读取缓冲区的一个字符,返回值为char。

  • 相关阅读:
    oo——第三单元总结
    oo第三单元总结
    【BUAA软工】提问回顾与个人总结
    【BUAA软工】HTTP协议前后端实现及实战北航云盘爬取
    【BUAA软工】软件案例分析
    【BUAA软工】结对编程作业
    【BUAA 软工个人项目作业】玩转平面几何
    【BUAA 软工博客作业】个人博客作业
    【BUAA 软工热身作业】继往开来,勇攀高峰
    BUAA-OO-第四单元总结——终章
  • 原文地址:https://www.cnblogs.com/dj0325/p/8513356.html
Copyright © 2011-2022 走看看