亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C++ cin輸入流詳解

時間:2024-10-11 00:02:02 C語言 我要投稿
  • 相關(guān)推薦

C++ cin輸入流詳解

  標(biāo)準(zhǔn)輸入流是從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)流向程序的數(shù)據(jù)。在頭文件iostream.h中定義了cin、cout、cerr、clog 4個流對象,cin是輸入流,cout、cerr、clog是輸出流。下面是小編為大家整理的C++ cin輸入流詳解,歡迎參考~

  cin是istream類的對象,它從標(biāo)準(zhǔn)輸入設(shè)備(鍵盤)獲取數(shù)據(jù),程序中的變量通過流提取符“>>”從流中提取數(shù)據(jù)。流提取符“>>”從流中提取數(shù)據(jù)時通常跳過輸入流中的空格、tab鍵、換行符等空白字符。

  注意:只有在輸入完數(shù)據(jù)再按回車鍵后,該行數(shù)據(jù)才被送入鍵盤緩沖區(qū),形成輸入流,提取運(yùn)算符“>>”才能從中提取數(shù)據(jù)。需要注意保證從流中讀取數(shù)據(jù)能正常進(jìn)行。

  例如:

    int a,b;

    cin>>a>>b;

  若從鍵盤上輸入

    21 abc↙

  變量a從輸入流中提取整數(shù)21,提取操作成功,此時cin流處于正常狀態(tài)。但在變量b準(zhǔn)備提取一個整數(shù)時,遇到了字母a,顯然提取操作失敗了,此時,cin流被置為出錯狀態(tài)。只有在正常狀態(tài)時,才能從輸入流中提取數(shù)據(jù)。

  當(dāng)遇到無效字符或遇到文件結(jié)束符(不是換行符,是文件中的數(shù)據(jù)已讀完)時,輸入流cin就處于出錯狀態(tài),即無法正常提取數(shù)據(jù)。此時對cin流的所有提取操作將終止。在 IBM PC及其兼容機(jī)中,以Ctrl + Z表示文件結(jié)束符。在UNIX和Macintosh系統(tǒng)中,以 Ctrl + D表示文件結(jié)束符。當(dāng)輸入流cin處于出錯狀態(tài)時,如果測試cin的值,可以發(fā)現(xiàn)它的值為false(假),即cin為0值。如果輸入流在正常狀態(tài),cin的值為true(真),即cin為 一個非0值。可以通過測試cin的值,判斷流對象是否處于正常狀態(tài)和提取操作是否成功。如:

    if(!cn) //流cin處于出銷狀態(tài),無法正常提取數(shù)據(jù)

      cout<<"error 56="" 89="" 100="" using="" namespace="" int="" float="" enter="" the="" return="" grade:="">>"提取100,賦給grade,進(jìn)行if語句的處理。然后再遇到"/",認(rèn)為是無效字符,cin返回0。循環(huán)結(jié)束,輸出"The end."。

  在不同的C++系統(tǒng)下運(yùn)行此程序,在最后的處理上有些不同。以上是在GCC環(huán)境下運(yùn)行程序的結(jié)果,如果在VC++環(huán)境(筆者使用win7系統(tǒng))下運(yùn)行此程序,在鍵入Ctrl + Z 時,需要敲擊兩次回車,程序才輸出"The end."。

【C++ cin輸入流詳解】相關(guān)文章:

c++快速排序詳解10-18

C++類的轉(zhuǎn)換10-17

C++函數(shù)考點(diǎn)歸納09-30

C/C++內(nèi)存管理09-20

Java與C/C++的區(qū)別06-18

C語言和C++的分別06-18

C語言和C++的區(qū)別精選10-16

C++勾股數(shù)公式講解10-18

C++調(diào)用C函數(shù)的方法05-21

C++如何調(diào)用matlab函數(shù)06-29