亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解C++ cin.getline函數(shù)

 更新時(shí)間:2020年09月27日 10:19:57   作者:chuyaoxin  
這篇文章主要介紹了C++ cin.getline函數(shù)的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)C++,感興趣的朋友可以了解下

cin

雖然可以使用 cin 和 >> 運(yùn)算符來(lái)輸入字符串,但它可能會(huì)導(dǎo)致一些需要注意的問(wèn)題。
當(dāng) cin 讀取數(shù)據(jù)時(shí),它會(huì)傳遞并忽略任何前導(dǎo)白色空格字符(空格、制表符或換行符)。一旦它接觸到第一個(gè)非空格字符即開(kāi)始閱讀,當(dāng)它讀取到下一個(gè)空白字符時(shí),它將停止讀取。

例:
// This program illustrates a problem that can occur if
// cin is used to read character data into a string object.
#include <iostream>
#include <string> // Header file needed to use string objects
using namespace std;

int main()
{
  string name;
  string city;
  cout << "Please enter your name: ";
  cin >> name;
  cout << "Enter the city you live in: ";
  cin >> city;
  cout << "Hello, " << name << endl;
  cout << "You live in " << city << endl;
  return 0;
}

預(yù)期結(jié)果:

Please enter your name: John Doe
Enter the city you live in: Chicago
Hello, John Doe
You live in Chicago

實(shí)際結(jié)果:

Please enter your name: John Doe
Enter the city you live in: Hello, John
You live in Doe

在這個(gè)示例中,用戶根本沒(méi)有機(jī)會(huì)輸入 city 城市名。因?yàn)樵诘谝粋€(gè)輸入語(yǔ)句中,當(dāng) cin 讀取到 John 和 Doe 之間的空格時(shí),它就會(huì)停止閱讀,只存儲(chǔ) John 作為 name 的值。在第二個(gè)輸入語(yǔ)句中, cin 使用鍵盤(pán)緩沖區(qū)中找到的剩余字符,并存儲(chǔ) Doe 作為 city 的值。

cin.getline()

cin.getline 允許讀取包含空格的字符串。它將繼續(xù)讀取,直到它讀取至最大指定的字符數(shù),或直到按下了回車(chē)鍵。

此函數(shù)會(huì)一次讀取多個(gè)字符(包括空白字符)。它以指定的地址為存放第一個(gè)讀取的字符的位置,依次向后存放讀取的字符,直到讀滿N-1個(gè),或者遇到指定的結(jié)束符為止。若不指定結(jié)束符,則默認(rèn)結(jié)束符為'\n'。

這個(gè)函數(shù)有三個(gè)參數(shù),其語(yǔ)法為:cin.getline(字符指針(char*),字符個(gè)數(shù)N(int),結(jié)束符(char));

第一個(gè)參數(shù)為第一個(gè)讀取的字符的位置,通常為數(shù)組名。

第二個(gè)參數(shù)為讀取的字符的個(gè)數(shù)。

第三個(gè)參數(shù)是結(jié)束符,可以省略,省略則默認(rèn)為回車(chē)鍵結(jié)束。

例:
// This program demonstrates cinT s getline function
// to read a line of text into a C-string.
#include <iostream>、
using namespace std;

int main()
{
  const int SIZE = 81;
  char sentence[SIZE];
  cout << "Enter a sentence: ";
  cin.getline (sentence, SIZE);
  cout << "You entered " << sentence << endl;
  return 0;
}

輸出結(jié)果:

Enter a sentence: To be, or not to be, that is the question.
You entered To be, or not to be, that is the question.

可以看到,使用cin.getline函數(shù)輸入帶有空格的字符串。

在網(wǎng)絡(luò)編程中,寫(xiě)一個(gè)簡(jiǎn)單的回射程序時(shí),可以使用cin.getline來(lái)輸入數(shù)據(jù)。

#define MAX_LINE 10000
char SendBuffer[MAX_LINE];
cin.getline(SendBuffer, sizeof(SendBuffer));

以上就是詳解C++ cin.getline函數(shù)的詳細(xì)內(nèi)容,更多關(guān)于cin.getline函數(shù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解C++實(shí)現(xiàn)線程安全的單例模式

    詳解C++實(shí)現(xiàn)線程安全的單例模式

    這篇文章主要介紹了C++實(shí)現(xiàn)線程安全的單例模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 深入解析C++中的構(gòu)造函數(shù)和析構(gòu)函數(shù)

    深入解析C++中的構(gòu)造函數(shù)和析構(gòu)函數(shù)

    析構(gòu)函數(shù):在撤銷對(duì)象占用的內(nèi)存之前,進(jìn)行一些操作的函數(shù)。析構(gòu)函數(shù)不能被重載,只能有一個(gè)
    2013-09-09
  • C++中的類與對(duì)象深度解析

    C++中的類與對(duì)象深度解析

    這篇文章主要為大家詳細(xì)介紹了C++中的類與對(duì)象,使用數(shù)據(jù)庫(kù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • C語(yǔ)言實(shí)現(xiàn)字符串匹配KMP算法

    C語(yǔ)言實(shí)現(xiàn)字符串匹配KMP算法

    相信很多人(包括自己)初識(shí)KMP算法的時(shí)候始終是丈二和尚摸不著頭腦,要么完全不知所云,要么看不懂書(shū)上的解釋,要么自己覺(jué)得好像心里了解KMP算法的意思,卻說(shuō)不出個(gè)究竟,所謂知其然不知其所以然是也。
    2014-08-08
  • C++筆記之std::future的用法小結(jié)

    C++筆記之std::future的用法小結(jié)

    std::future通常由某個(gè)Provider創(chuàng)建,與std::async一起使用,本文主要介紹了C++筆記之std::future的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • C語(yǔ)言數(shù)組越界引發(fā)的死循環(huán)問(wèn)題解決

    C語(yǔ)言數(shù)組越界引發(fā)的死循環(huán)問(wèn)題解決

    本文主要介紹了C語(yǔ)言數(shù)組越界引發(fā)的死循環(huán)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • QT線程QThread的使用介紹

    QT線程QThread的使用介紹

    在進(jìn)行桌面應(yīng)用程序開(kāi)發(fā)的時(shí)候,假設(shè)程序在某些情況要處理復(fù)雜邏輯, 如果一個(gè)線程去處理,就會(huì)導(dǎo)致窗口卡頓,無(wú)法處理用戶操作。這就需要使用多線程,其中一個(gè)線程處理窗口事件,其他線程進(jìn)行邏輯運(yùn)算,多個(gè)線程各司其職,不僅可以提高用戶體驗(yàn)還可以提升程序的執(zhí)行效率
    2022-09-09
  • C++ 純虛函數(shù)詳解

    C++ 純虛函數(shù)詳解

    本文主要介紹了C++ 純虛函數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 基于C語(yǔ)言EOF與getchar()的使用詳解

    基于C語(yǔ)言EOF與getchar()的使用詳解

    希望本文可以對(duì)初學(xué)C的朋友提供一點(diǎn)幫助,也希望能和其他朋友進(jìn)行交流。其中理解不對(duì)的地方若能得到指正和建議,本人將不勝感激
    2013-05-05
  • C語(yǔ)言 實(shí)現(xiàn)輸入任意多個(gè)整數(shù)

    C語(yǔ)言 實(shí)現(xiàn)輸入任意多個(gè)整數(shù)

    這篇文章主要介紹了C語(yǔ)言 實(shí)現(xiàn)輸入任意多個(gè)整數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12

最新評(píng)論