У меня в проекте на C++ есть возможность сохранять изменённые данные в файл, но есть проблема, когда я открываю не саму программу, а ее файл, то мне нужно считывать все, что в нем находится. Как получить ссылку (C://.../*.tst), при открытии файла по клику на него.
Если тип файлов ассоциирован с вашей программой (это можно установить в вручную: правый клик по файлу -> Открыть с помощью -> Выбрать программу), то при нажатии на файл запустится ваша программа. Вторым аргументом командной строки будет путь к файлу.
Получить этот аргумент можно двумя способами. Если у вас консольная программа, то параметр argv[1]
в функции main() будет содержать ссылку на файл.
Если же у вас программа с графическим интерфейсом и включен режим UNICODE, то используйте функции GetCommandLineW
and CommandLineToArgvW
:
LPWSTR *szArglist;
int nArgs;
szArglist = CommandLineToArgvW(GetCommandLineW(), &nArgs);
// Здесь szArglist[1] будет содержать путь к файлу
Если вы хотите программно ассоциировать расширение файла с вашей программой, то это более сложно, уточните вопрос.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Где предположительно может быть ошибка? После создания окна (sf::RenderWindow) и контекста, перед главным циклом отрисовки прописал
В QAbstractItemView есть сигнал activated который генерируется если произошло нажатие на элементНа этот сигнал у меня подвешен слот onItemActivated:
Каким образом можно задать переменную в 1400 миллисекунд для setTimeout и вызвать ее а не прописывать каждый раз для разных функций setTimeout = 1400