当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。