File errors in Ubuntu
-
I'm using Ubuntu 11.04 (this problem has persisted since 10.04) and trying to write to a file as follows
@openFileT1.setFileName(lastName.append(".comp"));
openFileT2.setFileName(lastName.append(".k"));
openFileT1.open(QFile::ReadWrite);
openFileT2.open(QFile::ReadWrite);
fileStream.setDevice(&openFileT1);
serialStream.setDevice(&openFileT2);
if (!openFileT2.isOpen() || !openFileT2.isWritable()) {
return NULL;} openFileT1.write("test"); debugPrint(openFileT1.errorString()); serialStream << QString("0xN0500576");
@
where lastName is a valid string (I checked) and with the directory being declared
@QDir::setCurrent("/home/XXXX/");@
before that
Every time I run this, my debug console says the error is "Unknown Error", does anyone know what might be causing this?
-
Please post a small compilable example that reproduces the problem. Some things to check:
- does /home/XXXX/ exist and do you have write-permissions to that directory?
- what do the two calls to open() return?
- what types are fileStream and serialStream?
- why are you apparently attaching a stream on your QFile object and then calling write() directly on the QFile object?
-
- /home/XXXX/ is a valid directory, and even when run as root I run into the same problem
- They return true
- fileStream is a QTextStream and serialStream is a QDataStream (according to the debugger both objects are valid during runtime)
- This was a byproduct of my attempts at fixing it, I tried to see whether writing to the file directly would fix the problem, it doesn't
Thanks for viewing my post :)
-
When I go and look at the file, the file has been created and has the correct name, but it's completely empty.
-
This is just a guess...maybe the file is empty because you did not close/flush it. And you are displaying an error string always, even I didn't find any reference on errorstring returning an empty string if no error has happened, so maybe the print is normal.
-
Ahhhh....many thanks, the flushing/closing did the trick, many thanks fluca.