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

淺談C++的幾種從鍵盤輸入方式

 更新時間:2018年07月12日 14:26:16   作者:qq_38153597  
今天小編就為大家分享一篇淺談C++的幾種從鍵盤輸入方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我們都知道,C++可以從鍵盤來讀取輸入,讀取輸入的方式也有好多種,下面我們來介紹常見的幾種方式

和他們的不同之處

1、cin

使用cin輸入時,程序?qū)⑤斎胍暈橐幌盗凶止?jié)。每個字節(jié)都被解釋為字符編碼。不管數(shù)據(jù)類型是什么,輸入一開始都是字符數(shù)據(jù),然后cin對象負(fù)責(zé)將數(shù)據(jù)轉(zhuǎn)換成其他類型

例如

string name;
std::cin>>name;
std::cout<<name;

當(dāng)你輸入Michael Jackon時,通運行程序你會發(fā)現(xiàn)name只存儲了Michael,這是為什么呢?

原來是 cin使用空白(空格,制表符和換行符)來確定字符串的結(jié)束位置

在讀取字符數(shù)組時,cin將只會讀取第一個單詞,cin將該字符串放到數(shù)組中,并自動添加空字符

Michael Jackon 之間的空格被當(dāng)作結(jié)束符了,而Jackon被繼續(xù)留在輸入隊列中,直到下一次讀取輸入

如何來解決這種問題呢,請繼續(xù)往下看

2、getline()

getline()函數(shù)用于讀取整行,通過回車鍵來確定輸入的結(jié)尾

假如你還是要讀取MIchael Jackon

String name;
getline(cin,name);
std::cout<<name:

或者你可以用char數(shù)組

char name[50];
std::cin.getline(name,50);
std::cout<<name;

這是你就會發(fā)現(xiàn)讀取的是Michael Jackon了

getline雖然通過讀取換行符來讀取結(jié)尾,但是它并不保存換行符,保存字符串是,他會用空字符來代替換行符

getline讀取完一行時,會從下一行開始讀,也就是說我們可以跳過某一行

假設(shè)我們讀取文本文件時,不讀取某一行,我們可以這樣做

string str;
getline(cin,str);

這樣便跳過這一行了

3、get()

Istream中有一個名為get()的變體,他的工作方式和getline()類似。他們接受參數(shù)相同,解釋參數(shù)的方式也相同,并且都讀取到行尾。的韓式get()讀取到行尾時不丟棄換行符,而是將它留在輸入隊列中

cin.get(name,50);
cin.get(dessert,50);

假設(shè)讀取了一個字符串,再讀取時,讀取到的便是換行符了,get()便認(rèn)為已經(jīng)到達(dá)行尾了,不在讀取

怎么解決呢?

我們可以在兩次讀取之間加一個cin.get();用來讀取下一個字符,即使是換行符。

cin.get(name,50);
cin.get();
cin.get(dessert,50)

以上這篇淺談C++的幾種從鍵盤輸入方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 通過“回文字算法”復(fù)習(xí)C++語言

    通過“回文字算法”復(fù)習(xí)C++語言

    這篇文章主要介紹了通過“回文字算法”復(fù)習(xí)C++語言的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • C語言驅(qū)動開發(fā)之內(nèi)核文件的讀寫

    C語言驅(qū)動開發(fā)之內(nèi)核文件的讀寫

    這篇文章主要為大家詳細(xì)介紹了C語言驅(qū)動開發(fā)中內(nèi)核文件的讀寫的系列函數(shù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-06-06
  • EasyC++編寫頭文件

    EasyC++編寫頭文件

    這篇文章主要介紹了C++編寫頭文件,在一個C++程序中,只包含兩類文件——.cpp文件和.h文件。其中,.cpp文件被稱作C++源文件,里面放的都是C++的源代碼;而.h文件則被稱作C++頭文件,里面放的也是C++的源代碼,感興趣的小伙伴一起來看下面文章的詳細(xì)介紹吧
    2021-12-12
  • 對一個數(shù)組進(jìn)行zig-zag重新排列

    對一個數(shù)組進(jìn)行zig-zag重新排列

    本文介紹了“對一個數(shù)組進(jìn)行zig-zag重新排列”,需要的朋友可以參考一下
    2013-03-03
  • Objective-C的內(nèi)省(Introspection)用法小結(jié)

    Objective-C的內(nèi)省(Introspection)用法小結(jié)

    這篇文章主要介紹了Objective-C的內(nèi)省(Introspection)用法,這是面向?qū)ο笳Z言和環(huán)境的一個強大特性,需要的朋友可以參考下
    2014-07-07
  • c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型

    c++網(wǎng)絡(luò)編程下Linux的epoll技術(shù)和Windows下的IOCP模型

    c++ 網(wǎng)絡(luò)編程LINUX-epoll/windows-IOCP下socket opoll函數(shù)用法 優(yōu)于select方法的epoll 以及windows下IOCP 解決多進(jìn)程服務(wù)端創(chuàng)建進(jìn)程資源浪費問題,感興趣的小伙伴一起來學(xué)習(xí)吧
    2021-08-08
  • 基于c語言中調(diào)試工具的用法匯總(不包含gdb)

    基于c語言中調(diào)試工具的用法匯總(不包含gdb)

    本篇文章是對c語言中調(diào)試工具的用法進(jìn)行了匯總,需要的朋友參考下
    2013-05-05
  • C++實現(xiàn)LeetCode(78.子集合)

    C++實現(xiàn)LeetCode(78.子集合)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(78.子集合),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 一文詳解C++11中decltype的使用

    一文詳解C++11中decltype的使用

    這篇文章主要為大家分享了C++11中decltype關(guān)鍵字的使用示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2023-07-07
  • C++判斷一個點是否在圓內(nèi)的方法

    C++判斷一個點是否在圓內(nèi)的方法

    這篇文章主要為大家詳細(xì)介紹了C++判斷一個點是否在圓內(nèi)的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論

门源| 兰州市| 礼泉县| 湄潭县| 杭锦旗| 泌阳县| 永善县| 温宿县| 方正县| 买车| 和平区| 大冶市| 郑州市| 海宁市| 文昌市| 房山区| 平塘县| 合作市| 剑阁县| 讷河市| 秭归县| 阆中市| 青海省| 保亭| 北安市| 蒲城县| 铜山县| 丁青县| 娄烦县| 开化县| 巴林右旗| 印江| 元江| 商都县| 民乐县| 南川市| 遂宁市| 长乐市| 五常市| 怀柔区| 永清县|