[SOLVED] Problem writing to a file when starting app from command line
-
I have a wierd problem where none on my log entries are written to the log file when I start my application from command line (simply calling the .exe). Demonstration:
@
QFile *f = new QFile(global_logs_dir + "common_logs.txt");
showmessage(f->fileName());
f->open(QFile::Append);
QByteArray ba(QString("Test log entry").toLatin1());
showmessage(f->write(ba));
f->flush();
f->close();
@When I run the .exe by double clicking the .exe, all works fine. The show messages say "logs/common_logs.txt" and "14" as they should. When I call the .exe from command line, I get the identical show messages, but nohing is written to the file!
I'm testing on Windows 7 platform. I've tried to set the rights to the folder, by setting All privalegies to Everyone. I've also tried to open the CMD as admin etc. What causes this?!
-
Hi,
Where are you looking for this file ? Are you sure it's the right folder ?
Since you are using a relative path to your log file you might not be writing it where you think it should go -
Ah, I used the f->fileName() to check this, but somehow I did not pay any attention the fact that I wasn't relative path (only showed logs/common_logs.txt).
I now updated the global_logs_dir variable with applicationDirPath() from the QApplication object, and it works. Thank you!