cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
ファイル操作共通関数群 [詳解]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cmnclib/Common.h"
#include "cmnclib/CmnFile.h"
#include "cmnclib/CmnData.h"
#include "cmnclib/CmnLog.h"
#include <dirent.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <limits.h>
マクロ定義 | |
#define | BUF_SIZE 4096 |
#define | MAX_PATH_SIZE 2048 |
関数 | |
CmnStringBuffer * | CmnFile_ReadAllText (const char *filePath, CmnStringBuffer *buf) |
ファイルをテキストデータとして全て読み込む [詳解] | |
CmnDataBuffer * | CmnFile_ReadAll (const char *filePath, CmnDataBuffer *buf) |
ファイルを全て読み込む [詳解] | |
int | CmnFile_WriteNew (const char *filePath, void *data, size_t len) |
データをファイルに書き込む。ファイルがなければ新規作成。ファイルがあれば上書き。 [詳解] | |
int | CmnFile_WriteHead (const char *filePath, void *data, size_t len) |
データをファイルの先頭に追加する。ファイルがなければ新規作成。 [詳解] | |
int | CmnFile_WriteTail (const char *filePath, void *data, size_t len) |
データをファイルの末尾に追加する。ファイルがなければ新規作成。 [詳解] | |
int | CmnFile_Remove (const char *path) |
ファイルを削除する [詳解] | |
CmnDataList * | CmnFile_List (const char *path, CmnDataList *list, CHARSET pathCharset) |
path直下のファイル/ディレクトリ一覧を取得する。 [詳解] | |
char * | CmnFile_ToAbsolutePath (const char *path, char *buf, size_t buflen, CHARSET pathCharset) |
絶対パスを取得する [詳解] | |
char * | CmnFile_GetCurrentDirectory (char *buf, size_t buflen) |
カレントディレクトリを取得する [詳解] | |
int | CmnFile_Exists (const char *path) |
pathが実在するかチェックする [詳解] | |
CmnFileInfo * | CmnFile_GetFileInfo (const char *path, CmnFileInfo *info) |
ファイル情報を取得する [詳解] | |
char * | CmnFileInfo_ToString (const CmnFileInfo *info, char *buf) |
ファイル操作共通関数群
ファイル操作共通関数群
int CmnFile_Exists | ( | const char * | path | ) |
pathが実在するかチェックする
path | 実在するかチェックするパス。ディレクトリでもファイルでもOK |
char* CmnFile_GetCurrentDirectory | ( | char * | buf, |
size_t | buflen | ||
) |
カレントディレクトリを取得する
buf | カレントディレクトリを格納するバッファ |
buflen | bufのサイズ |
CmnFileInfo* CmnFile_GetFileInfo | ( | const char * | path, |
CmnFileInfo * | info | ||
) |
ファイル情報を取得する
path | ファイルパス |
info | 取得したファイル情報を格納する |
CmnDataList* CmnFile_List | ( | const char * | path, |
CmnDataList * | list, | ||
CHARSET | pathCharset | ||
) |
path直下のファイル/ディレクトリ一覧を取得する。
path | ファイル/ディレクトリ一覧を取得するパス |
list | ファイル/ディレクトリ一覧を格納するリストオブジェクト。リストの要素にはCmnFileInfoをセットする。 |
CmnDataBuffer* CmnFile_ReadAll | ( | const char * | filePath, |
CmnDataBuffer * | buf | ||
) |
ファイルを全て読み込む
ファイルから読み込んだデータをコピーして返却する。
返却したポインタは呼び出し側でCmnDataBuffer_Freeで解放すること。
filePath | ファイルパス |
buf | 読み込んだデータを格納するバッファ |
CmnStringBuffer* CmnFile_ReadAllText | ( | const char * | filePath, |
CmnStringBuffer * | buf | ||
) |
ファイルをテキストデータとして全て読み込む
ファイルから読み込んだデータをbufにコピーして返却する。
ファイルはバイナリモードで読み込む。改行コードの変換が必要であれば呼び出し側で行うこと。
filePath | ファイルパス |
buf | 読み込んだデータを格納する文字列バッファ |
int CmnFile_Remove | ( | const char * | path | ) |
ファイルを削除する
filePath | 削除するファイル |
char* CmnFile_ToAbsolutePath | ( | const char * | path, |
char * | buf, | ||
size_t | buflen, | ||
CHARSET | pathCharset | ||
) |
絶対パスを取得する
path | 絶対パスに変換するパス |
buf | 取得した絶対パスを格納するバッファ |
buflen | bufの長さ |
pathCharset | パスの文字セット(ファイルシステムの文字セット)。Windowsの場合のみ必要。 |
int CmnFile_WriteHead | ( | const char * | filePath, |
void * | data, | ||
size_t | len | ||
) |
データをファイルの先頭に追加する。ファイルがなければ新規作成。
filePath | ファイルパス |
data | 書き込むデータ |
int CmnFile_WriteNew | ( | const char * | filePath, |
void * | data, | ||
size_t | len | ||
) |
データをファイルに書き込む。ファイルがなければ新規作成。ファイルがあれば上書き。
filePath | ファイルパス |
data | 書き込むデータ |
int CmnFile_WriteTail | ( | const char * | filePath, |
void * | data, | ||
size_t | len | ||
) |
データをファイルの末尾に追加する。ファイルがなければ新規作成。
filePath | ファイルパス |
data | 書き込むデータ |