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


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


std::basic_istream::ignore用於從輸入字符串中提取字符並丟棄包含定界字符的字符,即,如果到達文件末尾,此函數將停止提取字符。分隔字符是換行符,即“ \ n”。如果使用文件進行輸入,則如果到達文件末尾,此函數還將停止提取字符。此函數通過首先構造哨兵對象來訪問輸入序列。它從關聯的流緩衝區對象中提取字符,並在返回之前銷毀哨兵對象。

頭文件:

#include <iostream>

用法:

istream& ignore(size N,
            int delim = EOF);

參數:它接受以下參數:

  • N:它代表要提取的最大字符數。
  • delim:用於停止提取的位置。

返回值:它返回basic_istream對象。



以下是演示basic_istream::ignore()的程序:

程序1:

// C++ program to demonstrate 
// basic_istream::ignore 
  
#include <bits/stdc++.h> 
using namespace std; 
  
// Driver Code 
int main() 
{ 
  
    // Input String 
    istringstream input( 
        "12\n"
        "It is a string\n"
        "14\n"); 
  
    for (;;) { 
  
        int n; 
  
        // Taking input streamed string 
        input >> n; 
  
        // Check for end of file or if 
        // any bad  bit occurs 
        if (input.eof() || input.bad()) { 
            break; 
        } 
  
        // If any failbit occurs 
        else if (input.fail()) { 
  
            // Clear the input 
            input.clear(); 
  
            // Use ignore to stream the given 
            // input as per delimeter '\n' 
            input.ignore( 
                numeric_limits<streamsize>::max(), 
                '\n'); 
        } 
  
        // Else print the integer in 
        // the string 
        else { 
            cout << n << '\n'; 
        } 
    } 
    return 0; 
}
輸出:
12
14

程序2:

// C++ program to demonstrate 
// basic_istream::ignore 
  
#include <bits/stdc++.h> 
using namespace std; 
  
// Driver Code 
int main() 
{ 
  
    char first, last; 
  
    cout << "Enter a String:"; 
  
    // Get one character 
    first = cin.get(); 
  
    // Ignore string untill space occurs 
    cin.ignore(256, ' '); 
  
    // Get one character 
    last = std::cin.get(); 
  
    cout << "Your initials are "
         << first << ' '
         << last << '\n'; 
  
    return 0; 
}

輸出:

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




相關用法


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