Откройте файл в стандартном редакторе и перейдите к определенной строке
Я программирую небольшой инструмент для обработки файлов XML. Он написан на C++ с использованием Qt.
Чтобы открыть такие файлы с помощью редактора, я использовал:
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 ответ
Решение
Я бы сделал это следующим образом (Windows):
QProcess proc;
proc.startDetached("C:\\Program Files (x86)\\Notepad++\\Notepad++",
QStringList() << "file.xml" << "-n 2000");
Приведенный выше код открывает экземпляр приложения Notepad++, загружает файл file.xml и прокручивает строку 2000 ( переключатель командной строки -n) открытого файла.