Когда я запускаю программу на C ++, которая создает выходной файл и что-то записывает, выходной файл не создается, хотя программа работает нормально, когда я просто дважды щелкаю по нему из Windows Explorer.
Это код C #, который я использую для запуска программы:
try
{
Process p = StartProcess(ExecutableFileName);
p.Start();
p.WaitForExit();
Log("Program finished in " + ((p.ExitTime - p.StartTime).Milliseconds / 1000m) + " seconds with code " + p.ExitCode + "\n");
}
catch
{
Log("The program couldn't be started.");
}
UPDATE
Я только что узнал, почему это происходит.
Очевидно, что когда я запускаю его с C #, программа на C ++ не видит входной файл в относительном каталоге, но когда я явно указываю его
ifstream in("C:\\Alex\\primes.in");
он получает это и все работает! Теперь мне нужно заставить его работать с относительными путями к файлам ...