C++ 如何在VisualStudio中打开fstream进行读写操作

C++ 如何在VisualStudio中打开fstream进行读写操作,c++,fstream,C++,Fstream,对于我的项目,我想使用Fstream打开文件,我想同时打开它进行读写操作。我正在使用Visual Studio。 通常它只是file.open()但由于VisualStudio中有一个bug(您可以在本主题的注释中找到更多关于它的信息,以获得答案),所以这并不是那么容易。 File.Open()将仅为读取而打开文件(写入将不起作用),并且要以这种方式打开文件进行写入,我们需要执行File.Open(path,std::fstream::in | std::fstream::out | std::

对于我的项目,我想使用Fstream打开文件,我想同时打开它进行读写操作。我正在使用Visual Studio。
通常它只是
file.open()但由于VisualStudio中有一个bug(您可以在本主题的注释中找到更多关于它的信息,以获得答案),所以这并不是那么容易。

File.Open()
将仅为读取而打开文件(写入将不起作用),并且要以这种方式打开文件进行写入,我们需要执行
File.Open(path,std::fstream::in | std::fstream::out | std::fstream::trunc)
但这将仅为写入而非读取而打开文件

你知道如何用一行打开文件吗

简单的代码

stream file;
file.open(fileName,ios::in | ios::out);

在标志之间使用的符号是
管道
符号

“但这将只为写而不是读而打开它”-你为什么这么认为?标准规定了
basic\u filebuf*open(const char*s,ios\u base::openmode模式)因此使用just open()打开不能保证读/写。某些编译器可能有模式的默认值,但如果没有,则不是错误。让我们将该符号称为
按位或
。管道是一种可以在Linux操作系统中执行的操作,与此代码所执行的操作完全不同。