目次 - SDL 3.0 API(機能別) - I/Oストリーム - SDL_WriteIO

SDL_WriteIO

データストリームにデータを書き込む

ヘッダ

SDL3/SDL_iostream.h

構文

size_t SDL_WriteIO(SDL_IOStream *context, const void *ptr, size_t size);

引数

SDL_IOStream *contextSDL_IOStreamへのポインタ
void *ptr書込データのバッファへのポインタ
size_tsize書込バイト数

戻り値

(size_t) 書き込んだバイト数を戻す. 失敗したときsizeより小さい場合がある. SDL_GetError()を呼んで詳細を知ることができる.

詳細

この関数はptrが指定するエリアからsizeバイトだけをデータストリームに書き込む. この関数がどのような理由でも失敗すると, sizeより少ない値が戻り, 書き込みがどこまで行われたかがわかる. 成功するとsizeが戻る.

エラーのとき, この関数は可能な限り書き込もうとするため, 要求した書き込みバイト数よりも少ない正の数を戻すことがある.

呼び出し側は, SDL_GetIOStatus()で問題が非ブロッキング書き込みのような単に再実行すればよい回復可能なものか, 致命的なエラーかを知ることができる.

有効なデータストリームに対する0バイトの要求は, データストリームへのアクセスは行われず即座に0が戻り, データストリームの状態(EOFやエラーなど)は変わらない.

スレッドセーフ

複数のスレッドから一度に同一のSDL_IOStreamに対して使用してはならない.

バージョン

SDL 3.2.0以降

関連項目

SDL Wikiへのリンク

SDL_WriteIO - SDL Wiki