# OS_ConvertToArguments

## 構文

      #include <nitro/os.h>

      void OS_ConvertToArguments( const char* str,
                                      char cs,
                                      chat* buffer,
                                      u32 bufferSize );

## 引数

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

## 返り値

なし。

## 説明

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

ここで変換された引数データは、`OS_GetArgc` や `OS_GetArgv` や `OS_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 初版