當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ std::basic_istream::getline用法及代碼示例


std::basic_istream::getline用於從流中提取字符,直到行尾為止,否則提取的字符是定界字符。分隔字符是換行符,即“ \ n”。如果使用文件進行輸入,如果到達文件末尾,此函數還將停止提取字符。

頭文件:

#include <iostream>

用法:

basic_istream& getline (char_type* a, 
                            streamsize n )

basic_istream& getline (char_type* a, 
                            streamsize n, 
                             char_type delim);

參數:它接受以下參數:

  • N:它表示由a指向的最大字符數。
  • a:它是指向字符串以存儲字符的指針。
  • stream:這是一個明確的定界字符。

返回值:它返回basic_istream對象。



下麵是演示basic_istream::getline()的程序:

程序1:

// C++ program to demonstrate 
// basic_istream::getline 
  
#include <iostream> 
using namespace std; 
  
// Driver Code 
int main() 
{ 
    // Given string 
    istringstream gfg("123|aef|5h"); 
  
    // Array to store the above string 
    // after streaming 
    vector<array<char, 4> > v; 
  
    // Use function getline() to stream 
    // the given string with delimeter '|' 
    for (array<char, 4> a; 
         gfg.getline(&a[0], 4, '|');) { 
        v.push_back(a); 
    } 
  
    // Print the strings after streaming 
    for (auto& it:v) { 
        cout << &it[0] << endl; 
    } 
  
    return 0; 
}
輸出:
123
aef
5h

程序2:

// C++ program to demonstrate 
// basic_istream::getline 
  
#include <iostream> 
using namespace std; 
  
// Driver Code 
int main() 
{ 
    // Given string 
    istringstream gfg("GeeksforGeeks, "
                      " A, Computer, Science, "
                      "Portal, For, Geeks"); 
  
    // Array to store the above string 
    // after streaming 
    vector<array<char, 40> > v; 
  
    // Use function getline() to stream 
    // the given string with delimeter ', ' 
    for (array<char, 40> a; 
         gfg.getline(&a[0], 40, ', ');) { 
        v.push_back(a); 
    } 
  
    // Print the strings after streaming 
    for (auto& it:v) { 
        cout << &it[0] << endl; 
    } 
  
    return 0; 
}
輸出:
GeeksforGeeks
A
Computer
Science
Portal
For
Geeks

參考: http://www.cplusplus.com/reference/istream/basic_istream/getline/




相關用法


注:本文由純淨天空篩選整理自bansal_rtk_大神的英文原創作品 std::basic_istream::getline in C++ with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。