本篇文章為大家展示了getline怎么在c++中使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網站、網站制作、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的壺關網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!getline是C++標準庫函數;但不是C標準庫函數,而是POSIX(IEEE Std 1003.1-2008版本及以上)所定義的標準庫函數(在POSIX IEEE Std 1003.1-2008標準出來之前,則只是GNU擴展庫里的函數)。getline會生成一個包含一串從輸入流讀入的字符的字符串,直到以下情況發生會導致生成的此字符串結束:1)到文件結束,2)遇到函數的定界符,3)輸入達到大限度。
getline()函數是一個比較常見的函數。根據名字直接"望文->生義",就知道這個函數是來完成讀入一行數據。
下面就對C++ -- getline()函數的用法說明,以及getline()函數作為while條件的問題,總結一下:
在C++中本質上有兩種getline函數,(稱為第一種)一種在頭文件<istream>中,是istream類的成員函數。
好了,看正文,給大家詳細介紹。
功能:讀入一行數據。
c++中有2種getline函數,一種在頭文件 <istream> 中,是istream類的成員函數;另一種是在頭文件 <string> 中,是普通函數。
1.在頭文件 <istream> 的getline函數兩種重載形式:
istream& getline (char* s, streamsize n );//讀取最多n個字符保存在s對應的數組中,即使大小不夠n, istream& getline (char* s, streamsize n, char delim ); //讀取最多n個字符保存在s對應的數組中,遇到delim,或者讀完一行,或字數達到限制則終止
特別說明: 最多讀取n個字符中結束字符算一位。
例子代碼:
// istream::getline example #include <iostream> // std::cin, std::cout int main () { char name[256], title[256]; std::cout << "Please, enter your name: "; std::cin.getline (name,256); std::cout << "Please, enter your favourite movie: "; std::cin.getline (title,256); std::cout << name << "'s favourite movie is " << title; return 0; }
通過字數限制修改的代碼:
通過設置終止字符使用getline函數的代碼:
關于這個函數的2點疑問:
第一點,當定義一個小的數組,輸入的時候要求輸入的長度超出數組長度,輸出的時候會輸出全部的值。
#include<iostream> int main() { char name[5]; std::cin.getline(name,25); std::cout<<name<<std::endl; return 0; }
結果:
第二點,代碼如下
// istream::getline example #include <iostream> // std::cin, std::cout int main () { char name[6], title[256]; std::cout << "Please, enter your name: "; std::cin.getline (name,4); //代碼通過字數限制存入數組后就不再運行11-12行代碼,而是直接16行 std::cout << "Please, enter your favourite movie: "; std::cin.getline (title,256,'#'); std::cout<<std::endl; std::cout << name << " " << title; return 0; }
2.在頭文件<string>中的getline函數
(1) istream& getline (istream& is, string& str, char delim); istream& getline (istream&& is, string& str, char delim); (2) istream& getline (istream& is, string& str); istream& getline (istream&& is, string& str);
說明:
is:表示一個輸入流,例如 cin。
str:用來存儲輸入流中的信息
delim:自定義結束字符,默認是 '\n '
例子代碼:
#include<iostream> #include<string> int main() { std::string name; //這里定義的是string類型,而不是char std::getline(std::cin,name); std::cout<<name<<std::endl; return 0; }
getline在while語句中作為判定條件:
不設置終止符
#include<iostream> #include<string> using namespace std; int main() { string name; while(getline(cin,name)) { cout<<name<<endl; } return 0; }
使用終止符的while語句(當輸入 ' \n ' 也不受影響)
#include<iostream> #include<string> using namespace std; int main() { string name; while(getline(cin,name,'#')) { cout<<"輸出結果:"<<endl; cout<<name<<endl; } return 0; }
上述內容就是getline怎么在c++中使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯網站建設公司行業資訊頻道。
另外有需要云服務器可以了解下創新互聯建站vcdvsql.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:getline怎么在c++中使用-創新互聯
網站地址:http://vcdvsql.cn/article48/ddhdhp.html
成都網站建設公司_創新互聯,為您提供品牌網站制作、小程序開發、標簽優化、域名注冊、網站營銷、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯