如何使用C ++在notepad ++中打开文件?

时间:2012-02-09 05:51:30

标签: c++ windows cmd

我正在尝试让我的c ++程序在notepad ++中打开一个sql文件。我可以用这样的记事本打开它:

system("notepad.exe script_foo.sql");

但这是不受欢迎的,因为它没有格式化。当我尝试用notepad.exe替换notepad ++。exe时这样:

system("'C:\Program Files\Notepad++\notepad++.exe' script_foo.sql");

我的语法错误无效。

我出错的任何问题?

2 个答案:

答案 0 :(得分:2)

WinNT shell使用双引号在文件名中包含空格。单引号无法识别。所以你需要

"C:\Program Files\Notepad++\notepad++.exe" script_foo.sql

作为你的命令。

要将其嵌入到C ++源代码中,您需要转义反斜杠(正如Andre已经提到的那样)以及双引号。

system("\"C:\\Program Files\\Notepad++\\notepad++.exe\" script_foo.sql");

答案 1 :(得分:1)

在C ++中,反斜杠字符\是字符串中的escape character。你需要加倍反斜杠来实现你真正想要的东西:

system("'C:\\Program Files\\Notepad++\\notepad++.exe' script_foo.sql");