working directory constantly changing?
I have been having serious trouble with file management throughout all the time working on my game. what seems to be happening is files are loaded/saved into a directory, then all files attempting to use relative directories use that has their working directory. for example, I open/save my Config.ini file without any directory information. because of this, my ini file gets deposited anywhere a file has been opened/saved last. surely, there is a way to prevent the working directory from changing like this?
I use std::fstream/ifstream/ofstream, usually I just let it go out of scope, but there are a few places where I .close it. I don't do anything strange with opening or closing files, and I've checked the filenames EVERY SINGLE open call makes with my log, all seem perfectly fine.
[edited by - billybob on January 22, 2004 9:57:50 PM]
[edited by - billybob on January 22, 2004 9:57:50 PM]
// set current directory to exe's rootwchar_t applicationDir[MAX_PATH];::GetModuleFileName(instance, applicationDir, MAX_PATH);wchar_t* endPath = wcsrchr(applicationDir, L'\\');if(endPath) *endPath = 0;::SetCurrentDirectory(applicationDir);
[edited by - antareus on January 22, 2004 10:28:26 PM]
I already do that antareus, but in order to fix my problem I''d have to do that every time I open a file (the SetCurrentDirectory part, at least)
Can''t you just operate off of relative paths when you know you''re in the application''s directory?
I don''t understand what you mean. first of all, how would you know, second, what would I do when I''m NOT in the application''s directory (as it seems to be after I open a file that isn''t in there)
use all but the last line of antareus'' sample code, and save it in a char array somewhere. then, when you want to open a file, copy this saved path before the filename. you can even write an inline function to do it.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement