- istream[meta header]
- std[meta namespace]
- basic_istream[meta class]
- function[meta id-type]
streamsize readsome(char_type* s, streamsize n);(非書式化入力関数)ストリームから指定した数の文字を入力する。
ただし、その時点でストリームバッファに読み込まれているデータのみを読み取り対象とし、指定サイズちょうどのデータが得られる保証されない点がreadと異なる。
sentryオブジェクトを構築する。good()メンバ関数を呼び出してfalseであったら、setstate(failbit)を呼び出して終了する。rebuf()->in_avail()の値により以下のように処理を進める。-1ならsetstate(eofbit)を呼び出す。0なら何もしない。1以上ならmin(rebuf()->in_avail(), n)だけの文字を読み込む(nは仮引数)。
sに読み込まれた文字数。
#include <iostream>
#include <string>
#include <sstream>
std::string get_word(std::istream& is) {
char s[8];
auto size = is.readsome(s, sizeof s);
return std::string(s, size);
}
int main() {
std::istringstream is("123456789");
std::cout << get_word(is) << std::endl;
}- readsome[color ff0000]
- std::istringstream[link /reference/sstream/basic_istringstream.md]
12345678
TBD
- C++98