33 struct Buf: std::stringbuf {
34 Buf (std::string
s, std::ios::openmode
m)
35 : std::stringbuf (
s,
m) { }
37 void setget (
int beg,
int cur,
int end) {
38 setg (eback () + beg, eback () +
cur, eback () +
end);
41 void setput (
int beg,
int cur,
int end) {
42 setp (pbase () + beg, pbase () +
end);
48 Buf
buf (
"abcde", std::ios::in);
50 std::printf (
"%s\n",
buf.str ().c_str ());
54 Buf
buf (
"abcde", std::ios::out);
56 std::printf (
"%s\n",
buf.str ().c_str ());
60 Buf
buf (
"abcde", std::ios::openmode ());
61 std::printf (
"%s\n",
buf.str ().c_str ());