cin1 cin.get的用法?
cin.get的用法? cin.get公司()在輸入流隊(duì)列中保留回車(chē),而CIN丟棄回車(chē)。 信道=cin.get公司()是第一個(gè)輸入,因?yàn)樗皇情_(kāi)始,所以輸入流的隊(duì)列中沒(méi)有回車(chē)符。輸入一個(gè)字符,然后輸
cin.get的用法?
cin.get公司()在輸入流隊(duì)列中保留回車(chē),而CIN丟棄回車(chē)。 信道=cin.get公司()是第一個(gè)輸入,因?yàn)樗皇情_(kāi)始,所以輸入流的隊(duì)列中沒(méi)有回車(chē)符。輸入一個(gè)字符,然后輸入。Get()在收到回車(chē)符、空格或制表符時(shí)停止鍵入。此時(shí),回車(chē)留在輸入流隊(duì)列中。 數(shù)值=cin.get公司();這是第二個(gè)輸入。因?yàn)間et是第一次使用,所以在輸入流隊(duì)列中有一個(gè)回車(chē)符。然后get()接受回車(chē)符。因?yàn)間et()接收回車(chē)、空格或制表符,所以它停止鍵入。所以這次的輸入是一個(gè)回車(chē),可以稱為num=cin.get公司我以前坐過(guò)馬車(chē)回來(lái)。你應(yīng)該想到的。就用它吧cin.get公司()刪除第一個(gè)輸入留下的回車(chē)符=cin.get公司()可以是正常的。CIN的運(yùn)行機(jī)制分析:C的CIN到底是什么意思?很多初學(xué)者第一次接觸CIN,當(dāng)程序運(yùn)行到CIN指令時(shí),程序會(huì)自動(dòng)中斷,然后等待用戶從鍵盤(pán)輸入信息。只有當(dāng)用戶輸入完成并按enter鍵時(shí),程序才會(huì)繼續(xù)運(yùn)行。R這個(gè)過(guò)程很容易讓初學(xué)者誤解,CIN就是調(diào)用電腦鍵盤(pán)來(lái)輸入指令。也正是因?yàn)檫@種錯(cuò)誤的認(rèn)識(shí)會(huì)引起一系列的誤解。例如,在上面的圖4中,雖然程序中有三個(gè)cin,但是我們只需要從鍵盤(pán)輸入它們一次就可以完成所有的輸入工作。我們不需要分別從鍵盤(pán)輸入三次。本質(zhì)上,和其他C變量一樣,RCIN也是一個(gè)變量名,它是在iostream文件中定義的。因此,當(dāng)我們要使用CIN函數(shù)時(shí),必須導(dǎo)入cin.get公司()用于在輸入流隊(duì)列中保留回車(chē)符。ch=cin.get公司()是第一個(gè)輸入,因?yàn)樗皇情_(kāi)始,所以在輸入流隊(duì)列中沒(méi)有回車(chē)符。然后輸入一個(gè)字符并按enter鍵。當(dāng)您收到回車(chē)、空格或制表符時(shí),get()停止鍵入。此時(shí),回車(chē)將保留在輸入流隊(duì)列中。數(shù)值=cin.get公司()這是第二個(gè)輸入。因?yàn)檫@是第一次使用get,所以在輸入流隊(duì)列中有一個(gè)回車(chē)符。Get()接受此回車(chē)符并停止鍵入,因?yàn)镚et()接收回車(chē)符、空格或制表符。因此,這次輸入是回車(chē),可以使用num=cin.get公司()只需使用cin.get公司()以消除第一次輸入后的回車(chē)左移,然后num=cin.get公司()可以是正常的。擴(kuò)展信息:當(dāng)很多初學(xué)者第一次接觸CIN時(shí),當(dāng)程序運(yùn)行到CIN命令時(shí),程序會(huì)自動(dòng)中斷,然后等待用戶從鍵盤(pán)輸入信息。在用戶完成鍵入并按enter鍵之前,程序不會(huì)繼續(xù)。這個(gè)過(guò)程很容易讓初學(xué)者誤解CIN是計(jì)算機(jī)鍵盤(pán)調(diào)用的輸入命令。正是因?yàn)檫@種誤解,才會(huì)產(chǎn)生一系列的誤解。CIN與其他C變量基本相同。它也是一個(gè)變量名,在iostream文件中定義。因此,在使用CIN函數(shù)時(shí),必須導(dǎo)入頭文件<iostream>。在C語(yǔ)言中,變量名通常表示內(nèi)存的一部分。同樣地,變量CIN實(shí)際上被映射到一個(gè)存儲(chǔ)區(qū)域??梢哉J(rèn)為CIN實(shí)際上代表一個(gè)存儲(chǔ)器緩沖器,其功能是緩沖從鍵盤(pán)輸入的信息。
c 里面的cin.get()到底是什么作用???
如果是C,則此對(duì)象可用于調(diào)用各種函數(shù)和運(yùn)算符(例如cin.get公司()讀入一個(gè)字符,辛吉特()將剛讀取的字符放回輸入緩沖區(qū),以便下次讀取,很好()檢查CIN對(duì)象是否正常,有幾十個(gè)功能,以及它們的參數(shù)
get可以用CIN對(duì)象調(diào)用,函數(shù)為,cin.get公司此字符串只能用于調(diào)用get函數(shù)(例如cin.get公司()或慈善事業(yè)[80]cin.get公司(input,80,“$”)在輸入數(shù)組中輸入最多79個(gè)字符,以“$”作為結(jié)束符號(hào)),但這只是CIN可以調(diào)用的函數(shù)和運(yùn)算符的一小部分
可以分為三種情況:
1)輸入字符串不超過(guò)限制大小get(STR,size):讀取所有字符,遇到“n”時(shí)將“n”留在輸入緩沖區(qū)中,下一步操作讀取輸入時(shí)會(huì)捕獲哪些字符并影響輸入處理;Getline(STR,size):當(dāng)遇到“n”時(shí),讀取所有字符并直接從輸入緩沖區(qū)中刪除,不會(huì)影響后續(xù)的輸入處理。
2)Get(STR,size):讀取size-1字符,將STR[size-1]設(shè)置為“0”,然后將剩余字符(包括“n”)保留在輸入緩沖區(qū)中。這些字符將被下一個(gè)操作捕獲以讀取輸入并影響輸入處理;Getline(STR,size):讀取size-1字符,將STR[size-1]設(shè)置為“0”,將剩余字符(包括“n”)保留在輸入緩沖區(qū)中,然后設(shè)置CIN的實(shí)際效果位(即if(!CIN)為true),并關(guān)閉輸入。所有后續(xù)的輸入都不會(huì)得到任何結(jié)果,當(dāng)然,輸入緩沖區(qū)中沒(méi)有剩余的字符串。但是,如果您像本例中那樣用clear()重置CIN,那么隨后的輸入將可用,并且您將得到留在輸入緩沖區(qū)中的字符。
3)輸入一個(gè)空行(即直接回車(chē))get(STR,size):STR將獲取“0”,并設(shè)置CIN的實(shí)際效果位以關(guān)閉輸入,但回車(chē)仍將保留在輸入緩沖區(qū)中,因此如果我們用clear()重置CIN,則下一個(gè)讀取輸入的操作將捕獲“n”Getline(STR,size):STR將獲取“0”,并刪除“n”,而不設(shè)置實(shí)際效果位并關(guān)閉輸入。所以對(duì)于cin.getline公司例如,空行是合法的輸入,不會(huì)影響后續(xù)的輸入處理。至于哪個(gè)更好,可能會(huì)因人們的習(xí)慣而有所不同。對(duì)于我們的編程,我們總是希望有更好的容錯(cuò)性。即使用戶輸入了不合理的輸入,程序也應(yīng)能提示重新輸入或繼續(xù)正常處理。然而,我們顯然不希望用戶的輸入問(wèn)題會(huì)導(dǎo)致程序錯(cuò)誤或所有后續(xù)輸入都不可用。使用get(STR,size)和getline(STR,size),可能會(huì)遇到設(shè)置失敗位和關(guān)閉輸入的情況,因此需要考慮相應(yīng)的防錯(cuò)措施。