ストリームにテキストを書き込むクラスです。
[詳解]
#include "nn/nlib/TextWriter.h"
ストリームにテキストを書き込むクラスです。
- 説明
- ストリームへはUTF-8の文字列として出力されます。 また、BOMを付加することはありません。
- 改行文字については以下のように加工されます。
-
LF
はそのまま出力されます。
-
CR
はLF
として出力されます。
-
CRLF
はLF
として出力されます。
- サロゲートペアに関しては、上位サロゲートと下位サロゲートがペアにならなかった場合はエラー(EILSEQ)になります。
const wchar_t str[] = L"wide \r\nstring";
MemoryOutputStream ostr(....);
-
- 各種例:
- exi/serializer/serializer.cpp, exi/simple1/simple1.cpp, exi/simple2/simple2.cpp, exi/textparser/textparser.cpp, misc/writefile/writefile.cpp, msgpack/jsonrpc/jsonrpc.cpp, msgpack/jsonrpc/server.cpp.
TextWriter.h の 33 行目に定義があります。
◆ Close()
nn::nlib::TextWriter::Close |
( |
| ) |
|
|
noexcept |
テキストライタをクローズします。
- 戻り値
- 成功した場合は
true
- 説明
- ベースストリームへの参照をクリアしてテキスライターをクローズし、ベースストリームを切り離します。 この操作ではベースストリームはクローズされません。
◆ Flush()
nn::nlib::TextWriter::Flush |
( |
| ) |
|
|
noexcept |
テキストライタとベースストリームをフラッシュします。
- 戻り値
- 成功した場合は
true
- 説明
- 上位サロゲートだけを書き込んだ状態で呼び出された場合は、その上位サロゲートの書き込みは保留された状態になります。
◆ GetErrorValue()
nn::nlib::TextWriter::GetErrorValue |
( |
| ) |
const |
|
inlinenoexcept |
書き込み等が失敗した際に、エラーの原因を取得できます。
- 戻り値
-
0 | エラーは発生していません。 |
EINVAL | 引数が間違っている。 |
EEXIST | 初期化を2重に行おうとした。 |
EBADF | 書き込みストリームが存在しない。 |
EIO | 何らかの原因でストリームへの書き込みに失敗した。 |
EILSEQ | 不正な文字を書き込もうとした。 |
ENOMEM | メモリの動的確保に失敗した。 |
TextWriter.h の 50 行目に定義があります。
◆ GetStream()
nn::nlib::TextWriter::GetStream |
( |
| ) |
|
|
inlinenoexcept |
テキストライタが書き込みを行うストリームを取得します。
- 戻り値
- ストリームへのポインタ
TextWriter.h の 51 行目に定義があります。
◆ Init()
nn::nlib::TextWriter::Init |
( |
| ) |
|
|
noexcept |
◆ Open()
◆ SetError()
nn::nlib::TextWriter::SetError |
( |
errno_t |
e | ) |
const |
|
inlinenoexcept |
エラー値を設定します。
- 引数
-
- 説明
- エラーが設定されていない場合は
e
をエラー値として設定します。
TextWriter.h の 54 行目に定義があります。
◆ Write() [1/8]
nn::nlib::TextWriter::Write |
( |
wchar_t |
c | ) |
|
|
noexcept |
ストリームに1文字書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ Write() [2/8]
nn::nlib::TextWriter::Write |
( |
const wchar_t * |
str | ) |
|
|
noexcept |
ストリームに文字列を書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ Write() [3/8]
nn::nlib::TextWriter::Write |
( |
char |
c | ) |
|
|
noexcept |
ストリームに1文字書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
- 説明
- マルチバイト文字列を書きこむ場合は、1文字ずつ書きこむのではなく、文字列として書き込んでください。エラー(
EILSEQ
)になります。
◆ Write() [4/8]
ストリームに文字列を書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ Write() [5/8]
ストリームに1文字書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
- 説明
- 上位サロゲートを書き込んだ場合は、続けて下位サロゲートを書き込まないとエラーになります。
◆ Write() [6/8]
ストリームに文字列を書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ Write() [7/8]
ストリームに1文字書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ Write() [8/8]
ストリームに文字列を書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
◆ WriteFormat() [1/2]
nn::nlib::TextWriter::WriteFormat |
( |
const wchar_t * |
fmt, |
|
|
|
... |
|
) |
| |
|
noexcept |
◆ WriteFormat() [2/2]
nn::nlib::TextWriter::WriteFormat |
( |
const nlib_utf8_t * |
fmt, |
|
|
|
... |
|
) |
| |
|
noexcept |
ストリームに書式つき文字列を書き込みます。
- 引数
-
- 戻り値
- 成功した場合は
true
, 失敗した場合はfalse
- 説明
- 戻り値が
false
の場合、GetErrorValue()
メンバ関数で取得できます。
このクラス詳解は次のファイルから抽出されました: