在 C 中使用 system() 函数运行可执行文件时参数,如果可执行文件的路径和作为参数传递的文件的路径中都有空格,则会发生错误。错误消息如下:
The filename, directory name, or volume label syntax is incorrect.
system() 函数通过将系统命令传递给 Windows 命令处理器 (cmd) 来执行系统命令。当命令包含空格时,命令处理器会将第一个和最后一个双引号之间的所有内容解释为单个参数。但是,在这种情况下,可执行文件路径周围的双引号和参数文件路径周围的双引号会导致冲突。
要解决此问题,需要使用一组额外的双引号必须添加引号以括住整个命令。这样,命令处理器会将这些最外层双引号内的所有内容视为单个参数,即使它包含空格和其他双引号。
<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中文网其他相关文章!