貯めたバイトストリームをバイト配列として取り出すことができます。
struct Tub タブの実装となる構造体です。 |
struct Tub * | Tub_ タブのインスタンスを生成します。 |
int | Tub_ タブに文字列を書きます。 |
int | Tub_ タブに符号無し8ビット整数を書きます。 |
int | Tub_ タブに符号無し16ビット整数を書きます。 |
int | Tub_ タブに符号無し32ビット整数を書きます。 |
int | Tub_ タブにデータを書きます。 |
size_t | Tub_ タブのサイズを取得します。 |
void | Tub_ タブのサイズを設定します。 |
void | Tub_ タブのインスタンスを解放します。 |
void | Tub_ タブの内容を消去します。 |
void * | Tub_ タブの内容をもつバイト配列を生成します。 |
int | Tub_ タブのエラー状態を取得します。 |
実装の詳細は隠蔽されています。
struct Tub * Tub_create( | void) |
生成したインスタンスは空の状態です。
戻り値が参照するオブジェクトはTub_
生成できなかった場合はNULLを返します。
int Tub_writeCString( | struct Tub * tub, |
const char * str) |
文字列strをtubに書きます(終端のヌル文字は除きます)。
書き込みに失敗した場合はtubにエラー状態を設定し、−1を返します。その場合、途中までのデータがタブに書かれたかもしれません。
次の呼び出しと同様です。
Tub_write (tub, str, strlen(str));
int Tub_writeByte( | struct Tub * tub, |
unsigned int byte) |
byteの値をtubに書きます。
書き込みに失敗した場合はtubにエラー状態を設定し、−1を返します。
int Tub_writeU16( | struct Tub * tub, |
unsigned int u16) |
u16の値をネットワークバイトオーダでtubに書きます。
書き込みに失敗した場合はtubにエラー状態を設定し、−1を返します。その場合、途中までのデータがタブに書かれたかもしれません。
int Tub_writeU32( | struct Tub * tub, |
unsigned int u32) |
u32の値をネットワークバイトオーダでtubに書きます。
書き込みに失敗した場合はtubにエラー状態を設定し、−1を返します。その場合、途中までのデータがタブに書かれたかもしれません。
int Tub_write( | struct Tub * tub, |
const void * data, | |
size_t size) |
dataが指すポインタからsizeバイトのデータをtubに書きます。
書き込みに失敗した場合はtubにエラー状態を設定し、−1を返します。その場合、途中までのデータがタブに書かれたかもしれません。
size_t Tub_getSize( | struct Tub * tub) |
void Tub_setSize( | struct Tub * tub, |
size_t size) |
このメソッドはタブの内容を切り捨てます。タブの実際のサイズよりもsizeが小さくなければなりません。
呼び出しの前後で、タブの内容の先頭からsizeバイトは変化しません。
タブの実際のサイズよりもsizeが大きい場合はなにもしません。このとき、タブのエラー状態は変化しません。
void Tub_free( | struct Tub * tub) |
tubがNULLのときはなにもしません。呼び出し後はtubが参照するオブジェクトを参照してはなりません。
void Tub_clear( | struct Tub * tub) |
エラー状態もクリアします。
void * Tub_createByteArray( | struct Tub * tub) |
malloc(3)で領域を確保し、タブの内容をその領域にコピーします。戻り値が参照するオブジェクトはfree(3)で解放しなければなりません。
バイト配列を生成できなかった場合はNULLを返します。このとき、タブのエラー状態は変化しません。
呼び出しの前後でタブの内容は変化しません。
int Tub_hasError( | struct Tub * tub) |