1

コマンドラインの最後の引数が二重引用符で囲まれているかどうかを確認できる必要があります。二重引用符で囲まれている場合は、文字列として扱います。そうでない場合は、それをファイルとして扱い、文字列を開いて取得する必要があります。デフォルトでは、Argv は二重引用符で囲まれた文字列を取得して引用符を削除するため、この問題を処理する方法がわかりません。

擬似コードはこのようなものです...

if(argv[argc-1] was called with surrounding double quotes){
    //handle as string (I already have code to do this)
}
else{
    //handle as filename (I already have code to do this)
}
4

1 に答える 1

2

argv のすべてのパラメーターは文字列です。戦略を考え直したほうがよいでしょう。引数を開いてみてください。それが失敗した場合は、文字列として扱います。

または、コマンド ラインで引用符をエスケープすることもできます。引用符はアプリケーションに渡されます。

$ program "\"this is a string\""

編集:サンプルコードは、Bashシェルまたは同様のものを使用していることを前提としています

于 2011-09-11T22:07:55.133 に答える