ifstream infile ( "test.txt" , ifstream::in );
它将会Allow input operations on the stream.
但是“输入操作”的一些例子是什么?ifstream infile ( "test.txt" , ifstream::in | ifstream::binary );
是使用多个标志的正确语法吗?ifstream::
更改为iso::
谢谢
答案 0 :(得分:1)
- 根据参考文献,如果我使用ifstream infile(“test.txt”, ifstream :: in);它会允许输入 流上的操作。但究竟是什么 一些“输入的例子” 操作“?
醇>
从文件中读取意味着输入流可以支持的所有内容。请参阅istream
成员函数。通常,您可以执行格式化(使用>>
)和未格式化的读取(使用read
)。请注意,ifstream
是basic_ifstream
类型的char
模板的专精。根据您的需要,比如读取UTF-16编码文件,您可能必须使用不同的专业化(wifstream
),甚至使用特殊的区域设置(阅读this以了解有关区域设置的更多信息)。 / p>
- ifstream infile(“test.txt”,ifstream :: in | ifstream :: binary); 正确的语法使用多个 标志?
醇>
是
- 如果我将ifstream ::更改为iso ::?
,会有所作为吗? 醇>
没有
答案 1 :(得分:0)
流操作为extraction <<
和insertion >>
。当你做以下假设时
file
属于fstream
类型:
file << 5 << 6.5 << "Hello World!"; // insertion of data (output)
file >> x >> y >> str; // exaction of data (input)
您也可以将stream
作为binary stream
来处理。在这种情况下,它看起来并不像“stream
”数据,但可以随机访问数据。在某些情况下,您无法使用二进制模式,尤其是如果您的数据不像网络流那样可用。插入和提取是流上的两个主要操作。
ifstream
创建为input stream
。因此,std::ios::in
在这种情况下是多余的。您正在正确使用标志。
所有流都继承自ios
。因此,两个地方都可以使用这些标记,您可以直接从ios
或fstream
检索这些标记。