引数の引用符付け(組み立て関数)

引数の配列から、受け取り側の分割規則で元どおりに割れる1本のコマンドライン文字列を組み立てる処理。空白か引用符を含むか空の引数を引用符で囲み(空の引数は引用符2つだけになる)、引用符の直前のバックスラッシュを2倍+1、末尾のバックスラッシュを2倍にし、引用符にはバックスラッシュを前置する。往復が保証されるのは受け取り側がCommandLineToArgvW・Cランタイム・.NETランタイムと同じ分割規則でワイド文字のまま分割し(独自の文法で生のコマンドラインを解釈する相手や、途中にシェルのパーサが挟まる場合は対象外)、かつsetargv.obj/wsetargv.objによるワイルドカード展開を有効にしていない場合で(展開が有効だと*や?を含む引数がファイル名に置き換わる)、組み立てた文字列全体がCreateProcessのlpCommandLineの上限(終端のnull文字を含めて32,767 UTF-16コード単位)に収まることも前提になる。コマンドラインがnull終端文字列であるためNUL文字を含む引数は渡せず、狭い文字列のmainではコードページで表せない文字が失われる。

概念URI
https://comcomponent.com/knowledge/argument-quoting-function/
別名・表記
ArgvQuote / コマンドラインの組み立て
最終確認日
2026-08-01
機械可読データ
JSON-LD

この概念が関わる関係

この概念を扱う記事

一次資料

このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。