コマンドラインをパラメーターとして渡す関数呼び出しがあり、次のように定義されています。
process_raw_cmdline(char** line)
{
//
}
私は最終的にこの行を読み、それを分解して、行の一部を他のパラメータとして使用したいと考えています。この行を取り、スペースで区切られたさまざまな「単語」を保存する良い方法は何でしょうか. 最終的には、この行の一部を整数に変換する必要もあります。
通常、コマンド ラインを char** の形式で取得すると、コマンド ライン上の単一の単語、またはより適切には、単一のエンティティに既に分割されています。
binary-name arg1 arg2 "arg3 arg3" arg4
この例でarg3 arg3
は、単一のエンティティです (引用符は取得されません)。
ただし、char** を正しく読み取るには、単語数を知る必要があります。そのため、C プログラムでmain()
は、引数 argc (単語数) および argv (char**) を使用して呼び出されます。その後、argv[0] … argv[argc-1] にアクセスできます。この例では:
binary-name
arg1