首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是ios::in|ios::out?

什么是ios::in|ios::out?
EN

Stack Overflow用户
提问于 2015-02-05 15:52:27
回答 3查看 55.8K关注 0票数 20

我在阅读一些项目代码时发现了这个,这里的MembersOfLibrary()class MenberOfLibrary的一个构造函数

代码语言:javascript
复制
class MembersOfLibrary {
  public:
    MembersOfLibrary();
    ~MembersOfLibrary() {}
    void addMember();
    void removeMember();
    unsigned int searchMember(unsigned int MembershipNo);
    void searchMember(unsigned char * name);
    void displayMember();

  private:
    Members    libMembers;

};

MembersOfLibrary::MembersOfLibrary() {

    fstream memberData;
    memberData.open("member.txt", ios::in|ios::out);
    if(!memberData) {
    cout<<"\nNot able to create a file. MAJOR OS ERROR!! \n";
    }
    memberData.close();
}

什么是ios::in|ios::out

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-02-05 16:02:30

  • ios::in允许来自stream.
  • ios::out的输入(读操作)允许输出(写操作)到stream.
  • | (逐位OR运算符)用于组合两个ios标志,

这意味着将ios::in | ios::out传递给构造函数

启用流的输入和输出。

需要注意的重要事项:

  • std::ifstream自动具有ios::in标志set.
  • std::ofstream自动具有ios::out标志set.
  • std::fstream自动没有ios::inios::out

设置。这就是在示例代码中显式设置它们的原因。

票数 26
EN

Stack Overflow用户

发布于 2015-02-05 15:54:35

代码语言:javascript
复制
 memberData.open("member.txt", ios::in|ios::out);

当您想要从文件读取时,使用ios::in

ios::out在想要写入文件时使用

ios::in|ios::out表示ios::in或ios::out,即使用所需的那个

这里有一个有用的链接

http://www.cplusplus.com/doc/tutorial/files/

票数 5
EN

Stack Overflow用户

发布于 2015-02-05 15:56:26

ios::inios::outopenmode flags,在您的例子中结合了二进制或(|)操作。因此,打开该文件以进行读写。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28338775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档