2

プログラムファイル内でファイルを実行するためにこのプログラムをcで記述しようとしていますが、関数を記述すると

system("users/user/program files (x86).....")

(inを 2 番目の関数として解釈し(x86)ます。

ブラケットの前に置くことができる記号はありますか?

4

3 に答える 3

3

bashや他の正常なシェルとは異なり、Windowsシェルでは\エスケープ文字を使用できません(別の文字がある場合はわかりません)が、1つのアイテムであるはずのすべてのものを次のように配置することができます"

system("\"program that has space and other weird characters\" \"arg1\" \"arg2\"");

シェルで引用すると、シェル自体が内部の内容を理解しようとするのを防ぎます。

于 2012-12-12T15:03:03.470 に答える
1

シェルはコマンドラインをスペースで区切ります。引用してみてください:

system("\"users/user/program files (x86)...\" [arguments]")
于 2012-12-12T15:02:57.270 に答える
0

問題は、シェルが括弧を好まないことだと思います。これを試して:

system("users/user/program files '(x86)'.....")
于 2012-12-12T15:00:49.507 に答える