我主要在C ++中使用Qt框架。任何人都可以向我解释使用textstream对象而不是直接使用对象的优势吗?
以下是没有QTextStream的示例代码;
QFile file("asd.txt");
// assuming that file exists
file.open(QIODevice::Append);
file.write("asd");
file.close();
使用下面的代码而不是上面的代码有什么优点(或缺点);
QFile file("asd.txt");
// assuming that file exists
file.open(QIODevice::Append);
QTextStream tStream(file);
file << "asd";
file.close();
提前致谢。
答案 0 :(得分:6)
QFile::write
或者写一个nul终止的C字符串,或者你给它的二进制数据。
QTextStream
进行文本格式化/转换。
tStream.flush();
。答案 1 :(得分:0)
要补充现有答案,请注意流是类型安全的。特别是,你没有scanf和指针的问题。
但即便是C ++大师Herb Sutter也喜欢使用snprintf风格的语法 - 我同意。有时候比iostream格式化标记更容易记住printf样式的格式化语法。
另外,请注意在同一程序中使用实际的printf和cout会因libc printf和stdlibc ++ cout使用的内部对象同步而导致严重的性能损失。至少,过去是这样的。