OS_ConvertToArguments

構文

#include <nitro/os.h>
void OS_ConvertToArguments( const char* str,
                                char cs,
                                chat* buffer,
                                u32 bufferSize );
 

引数

str 引数データの元となる文字列です。
cs 引数のセパレータ文字です。
buffer 引数データを格納する引数バッファです。
bufferSize 引数バッファの大きさです。

返り値

なし。

説明

文字列から、引数データへ変換して指定のバッファに格納します。

ここで変換された引数データは、OS_GetArgcOS_GetArgvOS_GetOpt などで取得することが出来ます。デフォルトでは、システム内で持っている引数バッファ領域 ( buryarg ツールや buryarg.TWL ツールによって引数データが埋め込まれます) が用いられますが、OS_SetArgumentBuffer() で別の引数バッファへと切り換えることが出来ます。

str には引数データの元となる文字列を、cs には引数のセパレータ文字を指定します。

(例)
セパレータが" "(スペース) であるときに、"-a" と "123" と "test string" という3つの引数を与える場合は、
OS_ConvertToArguments( "dummy -a 123 \"test string\"",
              ' ', buffer, size );
のように指定します。
デフォルトでは OS_GetArgv(0) はプログラム名となり、OS_GetOpt()OS_GetArgv(1) に相当するものから解析対象となるので、文字列に "dummy" というダミーのプログラム名を与えています。
"test string" は途中に区切り文字であるスペースを含んでいますが " " で囲むことにより1つの引数として扱われます。

buffer には引数データが格納されるバッファ領域を指定します。bufferSize にはバッファのサイズを指定します。この領域を越えてバッファに書き込まれることはありません。

この関数は、FINALROM ビルドでは何もしません。

参照

OS_GetArgv, OS_GetArgc, OS_GetOpt
buryarg ツール,
buryarg.TWL ツール
OS_GetArgumentBuffer, OS_ConvertToArguments

履歴

2008/07/09 buryarg.TWL について追記
2005/09/09 初版