файл через std::wofstream. Файл должен создаваться по абсолютному пути около экзешника. При тестовых запусках проги (из студии или в ручную) всё так и происходит. Но, если я запускаю свою прогу через планировщик с правами админа (экзешник лежит в "C:\Portable Soft\MyApp\myapp.exe"), то логфайл почему-то создаётся в "c:\Windows\SysWOW64\". Почему? В настройках запуска в планировщике указано "При входе пользователя" (меня).
потому что у админа другая work folder в которую и пишется твой лог
Но я же жёстко ему путь задаю.
Относительный путь задаётся относительно текущей рабочей директории Если нужно именно рядом с экзешником, то надо этот путь получить (GetModuleFileName) Так как у тебя винда, то почему бы винапи не заюзать На части путь разбить можно уже при помощи std::filesystem
std::failsystem вродь как умеет cwd получать
А человеку хочется не cwd, а папку рядом с экзешником, что не всегда одно и то же
Извините что взажу, но разве путь к екзешнику не передаётся в нулевой аргумент функции main ? Зачем еще в винапи лезть
Разве там не команда передаётся? В ней не обязан быть полный путь Ну я про argv
Я именно так и делаю. https://github.com/dreamforceinc/wCenterWindow/blob/5137eed7599cb3d0ad5a87a0c9cafc53f792b144/wCenterWindow/Logger.cpp#L24
Обсуждают сегодня