C++ basic_ios 库 - get
描述
它用于获取字符。
声明
以下是 std::basic_istream::get 的声明。
er (1) int_type get(); basic_istream& get (char_type& c); c-string (2) basic_istream& get (char_type* s, streamsize n); basic_istream& get (char_type* s, streamsize n, char_type delim); stream buffer (3) basic_istream& get (basic_streambuf<char_type,traits_type>& sb); basic_istream& get (basic_streambuf<char_type,traits_type>& sb, char_type delim);
参数
c − 对存储提取值的字符的引用。
s − 指向字符数组的指针,其中提取的字符存储为 c 字符串。
n − 要写入 s 的最大字符数(包括终止空字符)。
delim − 显式分隔字符:只要下一个要提取的字符与此值相等(使用 traits_type::eq),提取连续字符的操作就会停止。
sb − 一个 basic_streambuf 对象,在其受控输出序列上复制字符。
返回值
如果流中没有可用的字符,则返回读取的字符或文件结尾值(traits_type::eof())(注意,在这种情况下,还设置了故障位标志)。
异常
Basic guarantee − 如果抛出异常,则对象处于有效状态。
数据竞争
修改 c、sb 或 s 指向的数组中的元素并修改流对象。
示例
在下面的 std::basic_istream::get 示例中。
#include <iostream> #include <fstream> int main () { char str[256]; std::cout << "Enter the name of an existing text file: "; std::cin.get (str,256); std::ifstream is(str); char c; while (is.get(c)) std::cout << c; is.close(); return 0; }