cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnDataBuffer.c ファイル

自動領域拡張バッファ 共通関数 [詳解]

#include <stdlib.h>
#include <string.h>
#include "cmnclib/CmnData.h"
#include "cmnclib/CmnLog.h"

関数

CmnDataBufferCmnDataBuffer_Create (size_t bufSize)
 自動領域拡張バッファ作成 [詳解]
 
int CmnDataBuffer_Append (CmnDataBuffer *buf, const void *data, size_t len)
 自動領域拡張バッファへのデータ追加 [詳解]
 
int CmnDataBuffer_Set (CmnDataBuffer *buf, const void *data, size_t len)
 自動領域拡張バッファへのデータ設定 [詳解]
 
void CmnDataBuffer_Delete (CmnDataBuffer *buf, size_t len)
 自動領域拡張バッファのデータ削除 [詳解]
 
void CmnDataBuffer_Free (CmnDataBuffer *buf)
 自動領域拡張バッファの解放 [詳解]
 

詳解

自動領域拡張バッファ 共通関数

自動領域拡張を行うバッファの共通関数。

著者
H.Kumagai
日付
2020-05-09

関数詳解

int CmnDataBuffer_Append ( CmnDataBuffer buf,
const void *  data,
size_t  len 
)

自動領域拡張バッファへのデータ追加

自動領域拡張バッファの末尾にデータを追加する。

引数
buf自動拡張バッファ
data追加するデータ
lenバッファに書き込むデータの長さ
戻り値
正常:0, エラー:-1
CmnDataBuffer* CmnDataBuffer_Create ( size_t  bufSize)

自動領域拡張バッファ作成

自動領域拡張バッファを新規に作成する。

引数
bufSize初期バッファサイズ。0を指定した場合はデフォルトのバッファサイズが適用される。
戻り値
作成したバッファへのポインタ。作成に失敗した場合はNULLを返す。
void CmnDataBuffer_Delete ( CmnDataBuffer buf,
size_t  len 
)

自動領域拡張バッファのデータ削除

自動領域拡張バッファのデータを一部もしくは全部削除する。

引数
buf自動拡張バッファ
len削除する長さ
void CmnDataBuffer_Free ( CmnDataBuffer buf)

自動領域拡張バッファの解放

自動領域拡張バッファが不要になった場合、メモリ解放のために必ず本関数を呼び出すこと。

引数
buf自動拡張バッファ
int CmnDataBuffer_Set ( CmnDataBuffer buf,
const void *  data,
size_t  len 
)

自動領域拡張バッファへのデータ設定

自動領域拡張バッファにデータを設定する。もとのデータは上書かれる。

引数
buf自動拡張バッファ
data設定するデータ
lenバッファに書き込むデータの長さ
戻り値
正常:0, エラー:-1