使用标准编辑器打开文件并跳转到特定行

时间:2014-12-03 13:33:42

标签: c++ qt shellexecute

我正在编写一个小工具来处理XML文件。它用Qt用C ++编写。

使用我使用的编辑器打开此类文件:

QDesktopServices::openUrl(QUrl::fromLocalFile(file.xml))

下一步是打开该XML文件并跳转到特定行。我尝试使用ShellExecute

ShellExecute (NULL, "open", "Notepad.exe", "path.xml -l 200", NULL, SW_SHOWNORMAL);

然而,它没有用。上面的行打开文件path.xml,但不会在第200行打开。我尝试使用VIM而不是记事本,结果相同。我的错误在哪里?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我会按以下方式(Windows)执行此操作:

QProcess proc;
proc.startDetached("C:\\Program Files (x86)\\Notepad++\\Notepad++",
                    QStringList() << "file.xml" << "-n 2000");

上面的代码打开了一个Notepad ++应用程序实例,加载了file.xml文件并滚动到打开文件的第2000行(-n command line switch)。