最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ string類getline()用法實例詳解

 更新時間:2024年03月13日 11:20:06   作者:Alkali!  
C++ getline()是一種標準庫函數(shù),用于從輸入流中讀取字符串或行,它是<string>標頭的一部分,本文介紹C++ string類getline()用法詳解,感興趣的朋友一起看看吧

有時候我們希望在最終的字符串中保留輸入時的空白符,這時候應(yīng)該用getline函數(shù)來替代原來的>>運算符。( cin 不能輸入包含嵌入空格的字符串
getline函數(shù)的參數(shù)是一個輸入流和一個string對象,原型是:getline(cin,string對象),函數(shù)從給定的輸入流中讀入內(nèi)容,直到遇到換行符為止,但是此時的換行符要被讀入,然后把所讀入的內(nèi)容存到string對象中,但此時不存入最后那個換行符。
<string>中的getline函數(shù)有四種重載形式:

istream& getline (istream&  is, string& str, char delim);
istream& getline (istream&& is, string& str, char delim);
istream& getline (istream&  is, string& str);
istream& getline (istream&& is, string& str);

讀取的istream是作為參數(shù)is傳進函數(shù)的,讀取的字符串保存在string類型的str中。

函數(shù)的變量:

  • is :表示一個輸入流,例如 cin。
  • str :string類型的引用,用來存儲輸入流中的流信息。
  • delim :char類型的變量,所設(shè)置的截斷字符;在不自定義設(shè)置的情況下,遇到’\n’,則終止輸入

getline只要遇到換行符就停止讀入并且返回string對象,哪怕一開始輸入就是換行符也是如此,只不過會返回一個空的string對象。和輸入運算符一樣,getline也會返回它的流參數(shù),所以可以用getline的結(jié)果作為條件。

//參考代碼
#include<iostream>
#include<string>
using namespace std;
int main()
{
    string line;//每次讀入一整行,直到遇到換行符結(jié)束讀入
    while (getline(cin,line))
        if (!line.empty())
            cout << line << endl;
    system("pause");
    return 0;
}

分析一下while(getline(cin,line))

(注意:這里默認回車符停止讀入,按Ctrl+Z(Windows)(Ctrl+D(Linux))即可退出循環(huán)。)

這個語句中,while判斷語句的真實判斷對象是cin的狀態(tài),也就是判斷當前是否存在有效的輸入流。

而輸入流是對象,判斷的是流返回的狀態(tài)。所以正常的情況下,你怎么輸入都是跳不出它的循環(huán)。

在這之中可能會用些人誤以為while判斷語句的判斷對象是line(也就是line是否為空),想通過回車來跳出循環(huán),卻發(fā)現(xiàn)不能跳出循環(huán)。

而回車和設(shè)置的終止符都是終止getline()函數(shù)的讀取操作的。但是while判斷語句判斷的是getline()函數(shù)的輸入流是否有效。

到此這篇關(guān)于C++ string類getline()用法詳解的文章就介紹到這了,更多相關(guān)C++ string類getline()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    C++中的基類和派生類構(gòu)造函數(shù)示例詳解

    這篇文章主要介紹了C++的基類和派生類構(gòu)造函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • C 語言基礎(chǔ)之C語言的常見關(guān)鍵字

    C 語言基礎(chǔ)之C語言的常見關(guān)鍵字

    C語言中有一些預(yù)先定義的字符串,他們本身被賦予了自身的功能。并且我們在定義變量的時候,不能去搶他們的名字來用。他們就是今天的主角:關(guān)鍵字,下面文章將給大家做詳細介紹
    2021-09-09
  • C語言代碼 模塊化實現(xiàn)三子棋

    C語言代碼 模塊化實現(xiàn)三子棋

    這篇文章主要為大家詳細介紹了C語言 模塊化實現(xiàn)三子棋程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • C++深淺拷貝及簡易string類實現(xiàn)方式

    C++深淺拷貝及簡易string類實現(xiàn)方式

    這篇文章主要介紹了C++深淺拷貝及簡易string類實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • STL常用容器詳細解析

    STL常用容器詳細解析

    這里我們不涉及容器的基本操作之類,只是要討論一下各個容器其各自的特點STL中的常用容器包括:順序性容器(vector、deque、list)、關(guān)聯(lián)容器(map、set)、容器適配器(queue、stac)
    2013-09-09
  • C++超詳細講解引用和指針

    C++超詳細講解引用和指針

    引用是C++一個很重要的特性,顧名思義是某一個變量或?qū)ο蟮膭e名,對引用的操作與對其所綁定的變量或?qū)ο蟮牟僮魍耆葍r,這篇文章主要給大家總結(jié)介紹了C++中引用的相關(guān)知識點,需要的朋友可以參考下
    2022-06-06
  • Unity編輯器下重啟的方法

    Unity編輯器下重啟的方法

    這篇文章主要介紹了Unity編輯器下重啟的方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下
    2017-10-10
  • 詳解C++編程中的私有繼承和公有繼承

    詳解C++編程中的私有繼承和公有繼承

    這篇文章主要介紹了詳解C++編程中的私有繼承和公有繼承,是C++入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • C++類中的常量介紹

    C++類中的常量介紹

    const數(shù)據(jù)成員只在某個對象生存期內(nèi)是常量,而對于整個類而言卻是可變的,因為類可以創(chuàng)建多個對象,不同的對象其const數(shù)據(jù)成員的值可以不同
    2013-10-10
  • C語言判斷語句和if語句形式及多層if使用示例

    C語言判斷語句和if語句形式及多層if使用示例

    這篇文章主要為大家介紹了C語言判斷語句和if語句形式及多層if使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09

最新評論

荣成市| 凤台县| 通道| 封开县| 梅河口市| 蓬莱市| 西峡县| 玉溪市| 宁安市| 三原县| 阳新县| 东丰县| 朝阳市| 友谊县| 大厂| 泌阳县| 镇赉县| 吴旗县| 洛浦县| 上饶县| 尼勒克县| 前郭尔| 邹平县| 龙山县| 莱阳市| 澄江县| 清河县| 柳江县| 南昌县| 湾仔区| 寻乌县| 思南县| 南京市| 偏关县| 灵山县| 定边县| 汤阴县| 温宿县| 彭水| 长乐市| 岗巴县|