私は根本的な原因がどのようにCコンパイラが文字列を処理するのか知っています。しかし、誰が正確にこれらの文字が受け入れられているか教えていただけますか?そして、私たちはコマンドライン経由でそれらを渡すことができます( '\'を追加すると、システムはそれを受け入れることができますが、どうすれば*または<またはそれをそのまま渡すことができますか?gccコンパイラを使用しています。なぜ、*、<,>をCのコマンドライン引数で渡すことができないのですか?バックグラウンドで何が起こっていますか?
答えて
これはあなたのCプログラムとは何の関係もありません。問題は、彼らもあなたのプログラムに到達する前に*
、<
と>
は特殊文字シェルプロセスであるということです。あなたは、単一で、あなたの入力を引用して、シェルからそれらを保護することができ引用符('
)例:。。
$ ./myprogram arg1 arg2 'arg3<>*'
私はこれを回避することができます*、<,>引用符で? *ユーザーからの入力として*を受け入れる場合はどうしますか?私はそれを実装する方法はありますか? –
ユーザから直接入力を受け取っている場合(例えば、 'scanf'を使って)、あなたはすでにあなたのプログラムに入っています。シェルではないので、問題はありません。引用符のポイントは、シェルがあなたのプログラムにargvとして渡す前にそれらを解釈するのを防ぐことです。 – Mureinik
ユーザーはこのプログラムを実行し、コマンドライン経由で引数を渡すことになっています。 *は、ユーザーが渡したオプションの一部です。 –
- 1. <%= PerformSomeFunction()%>ここで何が起こっていますか?
- 2. なぜLazyInitializationExceptionがここで起こっていますか?
- 3. なぜこの文法エラーがC++で起こっているのですか?
- 4. EXC_BAD_ACCESSとゾンビですが、なぜそれが引き続き起こっているのかわからない
- 5. StreamReader.readexactly()はソケットエラーを引き起こしますが、StreamReader.read()を引き起こさないのはなぜですか?
- 6. なぜスウィフトでこれが起こっていますか?
- 7. コマンドラインからノードモジュールに " - "を付けてargを渡すことができないのはなぜですか?
- 8. CのバイナリIOで何が起こっていますか?
- 9. strlenがCでセグメンテーション違反を引き起こすのはなぜですか?
- 10. ここで何が起こっているのかまた出力は何ですか? (手がかりなし)
- 11. デバイスドライバがページフォールトを引き起こすのはなぜですか?
- 12. デストラクタがセグメンテーションフォルトを引き起こすのはなぜですか?
- 13. Python - なぜtime.sleepがメモリリークを引き起こすのですか?
- 14. なぜMessageBox.ShowがUnhandledExceptionを引き起こすのですか?
- 15. dataset.countがシャッフルを引き起こすのはなぜですか?
- 16. VBA - ここ</p> <p>は何が起こっているのか..です
- 17. 単純なテストコードで何が起こっていますか
- 18. C++:手動で</p> <p>「プロジェクトのプロパティ]> [デバッグ]> [コマンド引数」あなたに渡したい</p> <p>引数に指定することができますVisual Studioでのコマンドライン引数に
- 19. なぜこの単純なコードがEXC_BAD_ACCESSを引き起こすのですか?
- 20. Pythonのlambda関数で何が起こっていますか?
- 21. SNSが私のラムダを引き起こさないのはなぜですか?
- 22. JavaScript、jQuery、 'this':ここで何が起こっていますか?
- 23. javascript //ここで何が起こっていますか?
- 24. CSVエクスポート - ここで何が起こっていますか?
- 25. ロックエスカレーション - ここで何が起こっていますか?
- 26. ここでは何が起こっていますか?
- 27. このMongoDBクエリでは何が起こっていますか?
- 28. このlet式では何が起こっていますか?
- 29. このExecuteDatasetメソッドでは何が起こっていますか?
- 30. このショートプログラムでは何が起こっていますか?
はあなたがスペースで区切られた値が同じ 'ARGV []'使用は再び引用し、例えば 'MYPROG「で全てになりたい同様にあれば、' ">" 'MYPROGを試してみてください1 2 3 "' –
@WeatherVane '\'や引用符なしで渡すことができる方法はありますか?それは私が探しているものです。 –
発見したように、引数がプログラムに到達する前に引用符が削除されていません。 –