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