spBase
読み取り中…
検索中…
一致する文字列を見つけられません
コマンドラインオプション

データ構造

struct  spOption
 

マクロ定義

#define spGetOptions(argc, argv, option, file_label)   _spGetOptions(argc, argv, spArraySize(option), option, spArraySize(file_label), file_label)
 
#define spStrToBool(value)   (((*(value) == 'T') || spStrEq(value, "1") || spStrEq(value, "ON") || spStrEq(value, "On")) ? SP_TRUE : SP_FALSE)
 
#define spBoolToStr(value)   (((value) == SP_TRUE) ? "True" : "False")
 

型定義

typedef void(* spExitCallbackFunc) (void *)
 
typedef unsigned short spOptionType
 
typedef struct _spOptions * spOptions
 

関数

spBool spEqType (spOptionType type1, spOptionType type2)
 
void spSetSection (spOptions options, int section)
 
void spSetSetup (const char *filename)
 
spBool spWriteGlobalSetup (void)
 
spBool spAddExitCallback (spExitCallbackFunc callback, void *data)
 
spBool spRemoveExitCallback (spExitCallbackFunc callback, void *data)
 
void spExit (int status)
 
char * spGetOptionValue (int argc, char **argv, spOptions options)
 
void spGetOptionsValue (int argc, char **argv, spOptions options)
 
void spCheckNumFile (spOptions options)
 
const char * spGetFile (spOptions options)
 
void spSetHelpMessage (spBool *flag, const char *format,...)
 
void spPrintHelp (const char *format,...)
 
void spPrintError (const char *format,...)
 
spBool spReadSetup (const char *filename, spOptions options)
 
spBool spWriteSetup (const char *filename, spOptions options)
 
void spUsage (void)
 

詳解

マクロ定義詳解

◆ spGetOptions

#define spGetOptions ( argc,
argv,
option,
file_label )   _spGetOptions(argc, argv, spArraySize(option), option, spArraySize(file_label), file_label)

オプション引数を扱うための spOptions を初期化します. spOptions を引数に持つ関数を用いるためには,必ずこの関数を使用する必要があります. なお,この関数はマクロで実装されています. options と, file_label には,必ずポインタではなく配列を指定して下さい.

引数
[in]argcspMain関数で得られた argc をそのまま指定します.
[in]argvspMain関数で得られた argv をそのまま指定します.
[in]optionspOption構造体の配列を指定します.
[in]file_labelヘルプメッセージを出力したときに, ファイルのラベルとしてこれが出力されます. spCheckNumFile() でファイルの数をチェックする際には,この配列の要素数が使用されます.
戻り値
オプション引数を扱うための spOptions 型のポインタが得られます.
各種例
spcat.c.

◆ spStrToBool

#define spStrToBool ( value)    (((*(value) == 'T') || spStrEq(value, "1") || spStrEq(value, "ON") || spStrEq(value, "On")) ? SP_TRUE : SP_FALSE)

文字列をブール値に変換します.

引数
[in]value変換したい文字列を指定します.
戻り値
変換後のブール値が返ります.

◆ spBoolToStr

#define spBoolToStr ( value)    (((value) == SP_TRUE) ? "True" : "False")

ブール値を文字列に変換します.

引数
[in]value変換したいブール値を指定します.
戻り値
変換後の文字列が返ります.

型定義詳解

◆ spExitCallbackFunc

typedef void(* spExitCallbackFunc) (void *)

Definition of spExitCallbackFunc used for spAddExitCallback() .

◆ spOptionType

typedef unsigned short spOptionType

Definition of spOptionType .

◆ spOptions

typedef struct _spOptions* spOptions

Definition of spOptions.

関数詳解

◆ spEqType()

spBool spEqType ( spOptionType type1,
spOptionType type2 )
extern

オプションのタイプが等しいかどうかを判定します.

引数
[in]type1,type2判定を行うオプションのタイプを指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spSetSection()

void spSetSection ( spOptions options,
int section )
extern

ヘルプメッセージを出力したときのセクション番号を指定します. セクション番号とは,UNIX環境のマニュアルのセクション番号です. ヘルプメッセージを出力したときにこの番号が表示されます.

引数
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
[in]sectionセクション番号を指定します.

◆ spSetSetup()

void spSetSetup ( const char * filename)
extern

セットアップファイルを指定します. セットアップファイルとは,プログラムが起動する際に,読み込まれるパラメータを記述したファイルです. この関数を呼ぶことにより,このファイルから自動的にパラメータの設定値が読み込まれます. spGetOptions() の呼び出しの際に指定された spOption 構造体の要素により,どのようなパラメータを用いるかが決定されます.

引数
[in]filenameセットアップファイルを指定します.

◆ spWriteGlobalSetup()

spBool spWriteGlobalSetup ( void )
extern

spSetSetup() により指定されたセットアップファイルに,パラメータの設定値を保存します. spSetSetup() を呼び出ししなかった場合は,何もしません.

戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spAddExitCallback()

spBool spAddExitCallback ( spExitCallbackFunc callback,
void * data )
extern

プログラム終了時に呼ばれるコールバック関数を追加します.

引数
[in]callbackコールバック関数を指定します.以下の形( spExitCallbackFunc )である必要があります.
void func(void *data);
[in]dataコールバックユーザーデータを指定します.コールバック関数が呼ばれる際に,引数にこの値が入ることになります.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spRemoveExitCallback()

spBool spRemoveExitCallback ( spExitCallbackFunc callback,
void * data )
extern

spAddExitCallback() によって追加されたコールバック関数を削除します.

引数
[in]callback削除するコールバック関数を指定します.
[in]dataspAddExitCallback() で指定したコールバックユーザーデータを指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spExit()

void spExit ( int status)
extern

プログラムを強制終了します. spSetSetup() でセットアップファイルが指定された場合は,終了時にセットアップファイルに設定を書き込みます.

引数
[in]status終了時の状態を指定します.正常終了の時は,通常0を指定します.

◆ spGetOptionValue()

char * spGetOptionValue ( int argc,
char ** argv,
spOptions options )
extern

オプション引数の値を得ます. 一つのオプションだけが処理されます.複数のオプションを一度に処理する場合は, spGetOptionsValue() を使用します.

引数
[in]argcspMain関数で得られた argc をそのまま指定します.
[in]argvspMain関数で得られた argv をそのまま指定します.
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
戻り値
成功した場合には,処理されたオプション引数がそのまま返ります. 失敗した場合は,NULLが返ります.

◆ spGetOptionsValue()

void spGetOptionsValue ( int argc,
char ** argv,
spOptions options )
extern

オプション引数の値を得ます. spGetOptionValue() とは違い,複数のオプションが一度に処理されます. spGetOptionsValue() は,内部でこの関数を呼んでいます.

引数
[in]argcspMain関数で得られた argc をそのまま指定します.
[in]argvspMain関数で得られた argv をそのまま指定します.
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
各種例
spcat.c.

◆ spCheckNumFile()

void spCheckNumFile ( spOptions options)
extern

引数のファイルの数が正しいかどうかを判定します. コマンドラインで指定したファイルの数が正しくない場合には,エラーメッセージを出力し,プログラムを終了します. この場合のファイルの数が正しくない場合とは, spGetOptions()file_label 引数の配列の要素数と一致していないときのことを指します.

引数
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.

◆ spGetFile()

const char * spGetFile ( spOptions options)
extern

コマンドラインで指定したファイル名を得ます.

引数
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
戻り値
ファイル名が返されます.続けてこの関数を呼ぶと, コマンドラインで次に指定されたファイル名が得られます. これ以上指定されたファイルがない場合は,NULLが返ります.
各種例
spcat.c.

◆ spSetHelpMessage()

void spSetHelpMessage ( spBool * flag,
const char * format,
... )
extern

ヘルプメッセージの内容を設定します. この関数により,ヘルプメッセージが指定されると, flag のアドレスの示す中身がSP_TRUEになった場合に,ヘルプメッセージが表示され,プログラムが終了します. この関数は,内部で spPrintHelp() を使用しています.

引数
[in]flagヘルプメッセージを表示させるために用いるspBool型変数のアドレスを指定します.
[in]formatformat は,printfなどの書式と同様に指定して下さい.
各種例
spcat.c.

◆ spPrintHelp()

void spPrintHelp ( const char * format,
... )
extern

ヘルプメッセージを表示します. この関数を呼ぶと,ヘルプメッセージが表示され,プログラムが終了します.

引数
[in]formatformat は,printfなどの書式と同様に指定して下さい.

◆ spPrintError()

void spPrintError ( const char * format,
... )
extern

エラーメッセージを表示します. この関数を呼ぶと,エラーメッセージが表示され,プログラムが終了します.

引数
[in]formatformat は,printfなどの書式と同様に指定して下さい.

◆ spReadSetup()

spBool spReadSetup ( const char * filename,
spOptions options )
extern

セットアップファイルから設定を読み込みます. セットアップファイルとは,プログラムが起動する際に,読み込まれるパラメータを記述したファイルです. この関数を呼ぶことにより,このファイルからパラメータの設定値が読み込まれます. spGetOptions() の呼び出しの際に指定された spOption 構造体の要素により,どのようなパラメータを用いるかが決定されます.

引数
[in]filenameセットアップファイル名を指定します.
[in,out]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spWriteSetup()

spBool spWriteSetup ( const char * filename,
spOptions options )
extern

セットアップファイルに設定を書き込みます. セットアップファイルとは,プログラムが起動する際に,読み込まれるパラメータを記述したファイルです. この関数を呼ぶことにより,指定したファイルにパラメータの設定値が書き込まれます. spGetOptions() の呼び出しの際に指定された spOption 構造体の要素により,どのようなパラメータを用いるかが決定されます.

引数
[in]filenameセットアップファイル名を指定します.
[in]optionsspGetOptions() の呼び出しにより返された spOptions を指定します.
戻り値
SP_TRUE成功
SP_FALSE失敗

◆ spUsage()

void spUsage ( void )
extern

ヘルプメッセージを出力し,プログラムを終了します. この関数を呼ぶと,ヘルプメッセージが出力され,プログラムが終了します. spGetOptions() の呼び出しの際に指定された spOption 構造体の要素により,メッセージの内容が決まります.