У меня есть 2 вопроса, которые нужно задать относительно открытия файлов (любых файлов) с помощью C++. В настоящее время я работаю над программой GUI, и я хочу добавить журнал изменений в формате txt. Также я хочу, чтобы меню в моей программе открывало файл changelog.txt с текстовым редактором по умолчанию, который каждый пользователь установил, или просто чтобы он открыл этот текстовый файл. Пожалуйста, имейте в виду, что я хочу, чтобы открыть файл для отображения НЕ в программе для ввода/output.I знаю, что могу сделать это с помощьюОткрыть файл для отображения содержимого на C++
system("notepad.exe filepath.txt");
или открыть их с заданной программой:
system("filepath.txt");
Проблема в том, что обе из них открывают командную строку за блокнотом. Я знаю, что есть другая команда для открытия файлов с использованием Win32 API под названием CreateProccess(), но мой компилятор не распознает эту команду (OpenWatcom W32). Так вот мои вопросы:
1) Есть ли другие команды для открытия файлов или есть способ остановить командную строку от открытия при использовании системы команды?
2) Как вы определяете в Windows, что текстовый файл находится в текущей папке программы? Я имею в виду вместо того, чтобы передать весь путь к файлу, который изменится от пользователя к пользователю, есть ли способ «сообщить» программе, что файл всегда находится в текущей папке, в которой находится программа?
Прошу прощения за любые ошибки, если вы хотите какое-либо разъяснение, пожалуйста, дайте мне знать.
@DadvidHeferman Спасибо за ваш немедленный ответ. Это сработало. Кажется, что мой компилятор содержит необходимые файлы. Возможно, вы также знаете ответ на мой второй вопрос? –
Последний параграф. Я всегда предпочитаю быть явным при указании имен файлов. Получить полный путь к каталогу, который содержит файл. Присоединитесь к этому имени файла, и вы хорошо пойдете. –
Если я прав GetModuleFileName также даст мне ProgramName.exe, поэтому я должен удалить это, я прав? –