如何在C++程序中指定项目文件夹执行whisper命令?
C++中调用whisper命令的引号与路径问题解决
引号问题的解决
你遇到的引号问题是因为C++字符串中双引号需要转义,直接写"whisper "transcribe.wav""会被编译器解析出错。正确的写法是用反斜杠转义wav文件名的双引号:
system("whisper \"transcribe.wav\"");
这样执行时,命令行能正确识别带引号的文件名。
路径的添加规则
是否需要加路径取决于whisper程序的位置:
- 若whisper已加入系统环境变量
PATH,直接写whisper即可,无需额外路径。 - 若whisper不在
PATH中,必须指定路径,路径要放在whisper程序名的前面:- 相对路径:如果whisper在项目文件夹的子目录(比如
tools文件夹),写法如下:system("./tools/whisper \"transcribe.wav\""); - 绝对路径:直接写whisper的完整磁盘路径,注意Windows下路径的反斜杠要双重转义:
// Linux/macOS示例 system("/home/yourname/yourproject/whisper \"transcribe.wav\""); // Windows示例 system("C:\\yourproject\\whisper.exe \"transcribe.wav\"");
- 相对路径:如果whisper在项目文件夹的子目录(比如
另外,如果transcribe.wav不在程序运行的当前工作目录,也要给音频文件加上对应的相对或绝对路径。
内容的提问来源于stack exchange,提问作者kate rainey
相关产品推荐
相关产品推荐

