web-dev-qa-db-fra.com

Qu'est-ce que ios :: in | ios :: out?

Je lisais du code de projet et je l'ai trouvé, ici MembersOfLibrary () est un constructeur de la classe MenberOfLibrary

    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();
}

Je ne suis pas en mesure de comprendre la signification de -> ios :: in | ios :: out <- Veuillez m'aider! Merci

13
Prakhar Verma
  • ios::in permet l'entrée (opérations de lecture) à partir d'un flux.
  • ios::out permet la sortie (opérations d'écriture) dans un flux.
  • | (au niveau du bit OR opérateur) est utilisé pour combiner les deux drapeaux ios,
    ce qui signifie que le passage ios::in | ios::out au constructeur
    sur std::fstream active à la fois l'entrée et la sortie du flux.

Choses importantes à noter:

  • std::ifstream a automatiquement le ios::in jeu de drapeaux.
  • std::ofstream a automatiquement le ios::out jeu de drapeaux.
  • std::fstream n'a ni ios::in ou ios::out automatiquement
    ensemble. C'est pourquoi ils sont explicitement définis dans votre exemple de code.
14
emlai

ios::in et ios::out sont drapeaux en mode ouvert , et dans votre cas, combinés avec un binaire ou (|) opération. Ainsi, le fichier est ouvert en lecture et en écriture.

4
πάντα ῥεῖ
 memberData.open("member.txt", ios::in|ios::out);

ios :: in est utilisé lorsque vous souhaitez lire à partir d'un fichier

ios :: out est utilisé lorsque vous souhaitez écrire dans un fichier

ios :: in | ios :: out signifie ios :: in ou ios :: out, c'est-à-dire celui qui est requis est utilisé

Voici un lien utile

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

3
Arun A S