如何在c ++中使用不同的ifstream模式?
题
- 根据参考文献,如果我使用
ifstream infile ( "test.txt" , ifstream::in );
它将Allow input operations on the stream.
但是<!>“输入操作<!>的一些例子是什么?”? - 使用多个标志是
ifstream infile ( "test.txt" , ifstream::in | ifstream::binary );
正确的语法吗? - 如果我将
ifstream::
更改为iso::
? ,会有所作为吗?
醇>
谢谢
解决方案
- 根据参考文献,如果我使用ifstream infile(<!> quot; test.txt <!> quot ;,, ifstream :: in);它会允许输入 流上的操作。但究竟是什么 <!>“输入的一些例子 操作QUOT <!?>
醇>
从文件中读取意味着输入流可以支持的所有内容。请参阅istream
成员函数。通常,您可以执行格式化(使用>>
)和未格式化的读取(使用read
)。请记住,ifstream
是basic_ifstream
类型的char
模板的特化。根据您的需要,比如读取UTF-16编码文件,您可能必须使用不同的专业化(wifstream
)或甚至使用特殊的区域设置(读取这个了解有关语言环境的更多信息。)
- ifstream infile(<!> quot; test.txt <!> quot ;, ifstream :: in | ifstream :: binary); 正确的语法使用多个 标志?
醇>
是
- 如果我将ifstream ::更改为iso ::?
,会有所作为吗? 醇>
没有
其他提示
流操作是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
来处理。在这种情况下,它看起来并不像<!>“; ifstream
<!>”;数据但可以随机访问数据。在某些情况下,您无法使用二进制模式,尤其是如果您的数据不像网络流那样可用。插入和提取是流上的两个主要操作。
input stream
创建为std::ios::in
。因此,在这种情况下,ios
是多余的。您正在正确使用标志。
所有流都继承自<=>。因此,这些标志在两个地方都可用,您可以直接从<=>或从<=>检索它们。
不隶属于 StackOverflow