Skip to content

Commit 45eb8c1

Browse files
committed
stringbuf, spanbuf : コード例や出力を修正
std::ios_base::app を指定しない限り、書き込み位置の初期値は先頭です。
1 parent 8d6bfc9 commit 45eb8c1

File tree

6 files changed

+16
-6
lines changed

6 files changed

+16
-6
lines changed

reference/spanstream/basic_spanstream/rdbuf.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ int main()
4949
### 出力
5050
```
5151
t
52-
est!
52+
!est
5353
```
5454

5555

reference/sstream/basic_stringbuf/op_constructor.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,16 @@ int main()
129129
std::cout << buf1.str() << std::endl;
130130
131131
// (3) 文字列を指定して構築
132-
std::stringbuf buf2("initial");
132+
std::stringbuf buf2("initial", std::ios_base::out | std::ios_base::app);
133133
buf2.sputc('!');
134134
std::cout << buf2.str() << std::endl;
135135
}
136136
```
137137
* sputc[link /reference/streambuf/basic_streambuf/sputc.md]
138138
* str()[link str.md]
139+
* std::ios_base[link /reference/ios/ios_base.md]
140+
* out[link /reference/ios/ios_base/type-openmode.md]
141+
* app[link /reference/ios/ios_base/type-openmode.md]
139142

140143
#### 出力
141144
```

reference/sstream/basic_stringbuf/str.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ int main()
7878
ch = buf.sbumpc(); // 'e'
7979
std::cout << "3: After reading 2 chars: " << buf.str() << std::endl;
8080
81-
// 書き込み(現在の位置から
81+
// 書き込み(読み取り位置と書き込み位置は別なので、先頭から書き込まれる
8282
buf.sputc('X');
8383
buf.sputc('Y');
8484
std::cout << "4: After writing: " << buf.str() << std::endl;
@@ -97,7 +97,7 @@ int main()
9797
1: Hello, World!
9898
2: New content
9999
3: After reading 2 chars: Read/Write test
100-
4: After writing: ReXY/Write test
100+
4: After writing: XYad/Write test
101101
5: Empty? yes
102102
```
103103

reference/sstream/basic_stringstream/op_constructor.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,15 @@ int main()
121121
std::cout << s << std::endl;
122122
123123
// (3) 文字列を指定して構築
124-
std::stringstream ss2("initial value");
124+
std::stringstream ss2("initial value", std::ios_base::out | std::ios_base::app);
125125
ss2 << " added";
126126
std::cout << ss2.str() << std::endl;
127127
}
128128
```
129129
* str()[link str.md]
130+
* std::ios_base[link /reference/ios/ios_base.md]
131+
* out[link /reference/ios/ios_base/type-openmode.md]
132+
* app[link /reference/ios/ios_base/type-openmode.md]
130133

131134
#### 出力
132135
```

reference/sstream/basic_stringstream/rdbuf.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,5 +42,5 @@ int main()
4242
### 出力
4343
```
4444
t
45-
est!
45+
!est
4646
```

reference/sstream/basic_stringstream/str.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ int main()
6767
std::cout << "1: " << ss.str() << std::endl;
6868
6969
// ストリームに追記
70+
ss.seekp(0, std::ios_base::end);
7071
ss << " + added";
7172
std::cout << "2: " << ss.str() << std::endl;
7273
@@ -85,6 +86,9 @@ int main()
8586
std::cout << "5: Empty? " << (ss.str().empty() ? "yes" : "no") << std::endl;
8687
}
8788
```
89+
* seekp[link /reference/ostream/basic_ostream/seekp.md]
90+
* std::ios_base[link /reference/ios/ios_base.md]
91+
* end[link /reference/ios/ios_base/type-seekdir.md]
8892

8993
#### 出力
9094
```

0 commit comments

Comments
 (0)