我可以像这样将一个 ofstream 对象制作成一个文本文件
ofstream obj("file.txt")
然后我可以继续发送给它int c=5
obj << c;
当我发送c
到文本文件时,它存储为什么类型的数据?
文件是字节流。文件中没有数据输入。当您从文件中读回该信息时,您有责任了解预期的数据类型。
有几个因素决定了您的iostream
班级考虑的数据类型。
构造函数确定流是对文本数据还是二进制数据进行操作。
ofstream obj("file.txt")
将流数据视为文本。ofstream obj("file.txt", ios_base::binary)
将流数据视为二进制。您正在使用文本。请注意,“文本”的表示可以通过不同的操作系统进行不同的解释。
您还可以通过发送iostream
smanip
类型来影响流数据的解释,例如setw(int)
.
文本文件流是那些我们在其打开模式中不包含 ios::binary 标志的流。这些文件旨在存储文本,因此我们输入或输出到它们的所有值不一定对应于它们的文字二进制值。
简而言之,非二进制文件称为文本文件。