我在阅读一些项目代码时发现了这个,这里的MembersOfLibrary()是class 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();
}什么是ios::in|ios::out
发布于 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::in或ios::out设置。这就是在示例代码中显式设置它们的原因。
发布于 2015-02-05 15:54:35
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/
发布于 2015-02-05 15:56:26
ios::in和ios::out是openmode flags,在您的例子中结合了二进制或(|)操作。因此,打开该文件以进行读写。
https://stackoverflow.com/questions/28338775
复制相似问题