C で system() 関数を使用して実行可能ファイルを実行する場合パラメータを使用する場合、実行可能ファイルのパスとパラメータとして渡されたファイルのパスの両方にスペースが含まれている場合、エラーが発生します。エラー メッセージは次のとおりです。
The filename, directory name, or volume label syntax is incorrect.
system() 関数は、システム コマンドを Windows コマンド プロセッサ (cmd) に渡して実行します。コマンドにスペースが含まれている場合、コマンド プロセッサは最初と最後の二重引用符の間のすべてを 1 つの引数として解釈します。ただし、この場合、実行可能ファイルのパスを囲む二重引用符とパラメータ ファイルのパスを囲む二重引用符が競合を引き起こしています。
この問題を解決するには、追加の double のセットを使用します。コマンド全体を囲むには引用符を追加する必要があります。このように、コマンド プロセッサは、スペースやその他の二重引用符が含まれている場合でも、これらの最も外側の二重引用符内のすべてを 1 つの引数として扱います。
<code class="cpp">system("\"\"C:\Users\Adam\Desktop\pdftotext\" -layout \"C:\Users\Adam\Desktop\week 4.pdf\"\"");</code>
<code class="cpp">system("cmd /S /C \"\"D:\test\" nospaces \"text with spaces\"\"");</code>
以上がC の `system()` 関数を使用するときにパラメータ内のスペースを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。