QTemporaryFile tf;
tf.open ();
QDataStream tfbs (&tf);
tfbs << "hello\r\n" << "world!\r\n";
const int pos = int (tf.pos ());
QByteArray ba;
ba.append ("hello\r\n");
ba.append ("world!\r\n");
const int size = ba.size ();
我的问题基本上是,我做错了什么?为什么pos > size?我不应该使用<<吗?我不应该使用QDataStream吗?
编辑:有没有一种方法可以配置QDataStream或QTemporaryFile,使<<操作符不会在字符串前加上32位长度并将空终止符存储在文件中?当我只有一系列带引号的字符串和QString时,调用QDataStream::writeBytes会产生非常丑陋的代码。
pos
和size
实际上是什么,那将会很有帮助。 - jkerian