Я уверен, что тот факт, что вы вызываете эту функцию из библиотеки, является красной сельдью .
. Скорее всего, ваш файл hello.txt
не являетсяв рабочем каталоге исполняемого процесса.Идите вперед и #include <windows.h>
в своем проекте, и используйте функцию GetCurrentDirectory
, чтобы увидеть, каков рабочий каталог при запуске вашей программы.Скорее всего, это не тот же путь, что и у вашего текстового файла.
Чтобы исправить это, вы можете сделать одно из двух: изменить настройки запуска программы (будь то из Visual Studio или ярлык Windows).) указать рабочий каталог (называемый «Начать с:» для ярлыка Windows) в качестве пути к текстовому файлу, который вы хотите открыть, или вы можете выяснить, какой рабочий каталог использовала ваша программа, и переместить туда свой текстовый файл.вместо этого.
Редактировать: Кроме того, если вы хотите, чтобы приложение использовало собственный каталог (где фактически находится исполняемый файл), вы можете использовать функцию GetModuleFileName
чтобы получить полный путь к исполняемому файлу.Конечно, вам придется обрезать имя файла программы до конца строки, которую она создает, но это должно быть просто.