乙個小透明發現。。自己寫的**很多是因為輸入的問題導致的錯誤。。。來理一理其中的問題。。。。
cin是istream類的物件
cin可以連續從鍵盤讀取想要的資料,以空格、tab或換行作為分隔符。
當cin>>從緩衝區中讀取資料時,若緩衝區中第乙個字元是空格、tab或換行這些分隔符時,cin>>會將其忽略並清除,繼續讀取下乙個字元,若緩衝區為空,則繼續等待。但是如果讀取成功,字元後面的分隔符是殘留在緩衝區的,cin>>不做處理。
getline(cin,str)函式是處理string類的函式。第二個引數為string型別的變數。讀入時第二個引數為string型別,而不是char*,要注意區別。使用時,#include 。
getline()函式的定義如下所示
1. istream& getline ( istream &is , string &str , char delim );
2. istream& getline ( istream &is , string &str );
is 進行讀入操作的輸入流,str 用來儲存讀入的內容,delim 終結符,遇到該字元停止讀取操作,不寫的話預設為回車。
cin.getline()函式是處理陣列字串的,其原型為cin.getline(char * , int),第乙個引數為乙個char指標,第二個引數為陣列字串長度。
cin.getline()和cin.get()都是對輸入的面向行的讀取,即一次讀取整行而不是單個數字或字元,但是二者有一定的區別。
cin.get()每次讀取一整行並把由enter鍵生成的換行符留在輸入佇列中,然而cin.getline()每次讀取一整行並把由enter鍵生成的換行符拋棄,cin.getline不會將結束符或者換行符殘留在輸入緩衝區中。
#include using namespace std;
int main(int argc, char** ar**) {
char name[20];
char school[20];
cin.getline(name,10);//讀入9個字元
關於C C 的各種常見讀取資料操作
例1 題目描述 將乙個字串str的內容顛倒過來,並輸出。str的長度不超過100個字元。輸入輸入包括一行。第一行輸入的字串。輸出輸出轉換好的逆序字串。樣例輸入 i am a student 樣例輸出 tneduts a ma i 用scanf讀取一行帶空格字串 include includeint ...
python讀取各種檔案資料解析
1.讀取文字檔案資料 txt結尾的檔案 或日誌檔案 log結尾的檔案 以下是檔案中的內容,檔名為data.txt 與data.log內容相同 且處理方式相同,呼叫時改個名稱就可以了 以下是python實現 coding gb2312 import json defread txt high file...
熟悉各種迴圈,讀取資料輕鬆搞定
在程式設計中,有時候我們可能對乙個動作要重複執行很多遍。例如 在乙個軟體中,有乙個刪除的功能,現在你要刪除一二條資料,你可以一條一條的刪,但如果要你刪除100多條 1000多條呢。這你不可能要使用者一條一條刪除吧,那使用者得刪到猴年 馬月啊。在這些情況下我們就呼叫for迴圈來幫我們進行乙個批量刪除。...