我主要在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();
提前致谢.
QFile::write
或者写一个nul终止的C字符串,或者你给它的二进制数据.
QTextStream
另一方面,文本格式化/转换.
它仅处理文本输出/输入,而不处理任意二进制数据.
你可以给它一个原始类型(int,float,long等),它会将它转换为文本表示
您可以让它读取文本并转换为原始类型.
你可以让它做格式化输出,例如打击垫或左/右调整文本.
您可以设置文本编码(例如UTF-8,UTF-16)
它缓冲数据,可能导致更少的系统调用.请注意,这意味着您的代码应tStream.flush();
在关闭文件之前调用.