Main Page | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# dkcStream.h File Reference

`#include <stdio.h>`
`#include "dkcOSIndependent.h"`
`#include "dkcDefined.h"`

Include dependency graph for dkcStream.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Classes
struct | dkc_Stream
| 汎用型ストリーム More...
## Typedefs
typedef dkc_Stream | DKC_STREAM
| 汎用型ストリーム
## Enumerations
enum | edkcStream { edkcStreamSeekCurrent = SEEK_CUR, edkcStreamSeekEnd = SEEK_END, edkcStreamSeekSet = SEEK_SET, edkcStreamInitBuffer = 0, edkcStreamInitFile }
## Functions
DKC_EXTERN DKC_STREAM *WINAPI | dkcAllocStream (int flag, const char *filename, const char *mode)
| ストリーム領域を得る。
DKC_EXTERN int WINAPI | dkcFreeStream (DKC_STREAM **ptr)
| dkcAllocNewStream()で確保したストリーム領域を開放する
DKC_EXTERN int WINAPI | dkcStreamSeek (DKC_STREAM *ptr, int offset, int origin)
| streamをシークする。fseekみたいなもの
DKC_EXTERN int WINAPI | dkcStreamRead (DKC_STREAM *ptr, void *buffer, size_t size, size_t *readsize)
| streamをリードする。freadみたいなもの
DKC_EXTERN int WINAPI | dkcStreamWrite (DKC_STREAM *ptr, const void *buffer, size_t size)
| streamをライトする。fwriteみたいなもの
DKC_EXTERN int WINAPI | dkcStreamClear (DKC_STREAM *ptr)
| stream内をmemset(0)する。(seek位置も最初に戻される。

## Detailed Description

Note:
  dkcStreamSerializeのシリアライズ済みファイルデータ構造

DKC_STREAM構造体 BYTE DKC_STREAM::mSize個分。

## Typedef Documentation

typedef struct dkc_Stream DKC_STREAM

| 汎用型ストリーム

## Enumeration Type Documentation

enum edkcStream

  | Enumeration values:
  edkcStreamSeekCurrent | 今の位置からシーク
  edkcStreamSeekEnd | 最後の位置からシーク
  edkcStreamSeekSet | 最初の位置からシーク
  edkcStreamInitBuffer | バッファとして初期化
  edkcStreamInitFile | バッファはfopenで初期化

## Function Documentation

DKC_EXTERN DKC_STREAM* WINAPI dkcAllocStream | ( | int | flag,
|  | const char * | filename,
|  | const char * | mode
| ) |

  | ストリーム領域を得る。 Parameters:
  flag[in] | edkcStreamにある、StreamInit系のものを渡す
  size[in] | ストリームの初期化時のサイズ
  filename[in] | edkcStreamInitFileをflagに渡した場合、その保存するファイルの名前 flagにedkcStreamInitFile以外の値を渡した場合はNULLでOK
  mode[in] | fopenのモード flagにedkcStreamInitFile以外の値を渡した場合はNULLでOK
Returns: DKC_STREAM *のストリームデータ。

DKC_EXTERN int WINAPI dkcFreeStream | ( | DKC_STREAM ** | ptr | ) |

  | dkcAllocNewStream()で確保したストリーム領域を開放する Parameters:
  ptr[in][out] | 削除するストリームデータ。入れたデータはNULLになる。
Note:

DKC_EXTERN int WINAPI dkcStreamClear | ( | DKC_STREAM * | ptr | ) |

| stream内をmemset(0)する。(seek位置も最初に戻される。

DKC_EXTERN int WINAPI dkcStreamRead | ( | DKC_STREAM * | ptr,
|  | void * | buffer,
|  | size_t | size,
|  | size_t * | readsize
| ) |

  | streamをリードする。freadみたいなもの Parameters:
  readsize[out] | 実際に読んだサイズを返す。NULLを渡してもOK.
Note: 指定したサイズ(size)よりもストリームバッファのサイズが小さかった場合 readsizeに実際に読んだサイズを入れます。

DKC_EXTERN int WINAPI dkcStreamSeek | ( | DKC_STREAM * | ptr,
|  | int | offset,
|  | int | origin
| ) |

| streamをシークする。fseekみたいなもの

DKC_EXTERN int WINAPI dkcStreamWrite | ( | DKC_STREAM * | ptr,
|  | const void * | buffer,
|  | size_t | size
| ) |

| streamをライトする。fwriteみたいなもの Note: 内部ストリームバッファは動的拡張です。気にせずどんどんぶち込みましょう。 C言語版のSTLのstd::vectorみたいなものですね。（といいますか、車輪の再開発してるし･･･。