什么是 ios::in|ios::out?
What is ios::in|ios::out?
我在阅读一些项目代码时发现了这个,这里 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
?
memberData.open("member.txt", ios::in|ios::out);
ios::in 用于读取文件
ios::out 用于写入文件
ios::in|ios::out表示ios::in或ios::out,即按需使用
这是一个有用的link
ios::in
和 ios::out
是 openmode flags,在您的情况下结合二进制 或 (|
) 操作.这样文件就可以读写打开了。
ios::in
允许从流中输入(读取操作)。
ios::out
允许输出(写入操作)到流。
|
(按位或运算符)用于组合两个ios
标志,
这意味着将 ios::in | ios::out
传递给构造函数
std::fstream
为流启用 输入和输出。
重要注意事项:
std::ifstream
自动设置了 ios::in
标志。
std::ofstream
自动设置了 ios::out
标志。
std::fstream
既没有 ios::in
也没有 ios::out
自动
放。这就是在您的示例代码中明确设置它们的原因。
我在阅读一些项目代码时发现了这个,这里 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
?
memberData.open("member.txt", ios::in|ios::out);
ios::in 用于读取文件
ios::out 用于写入文件
ios::in|ios::out表示ios::in或ios::out,即按需使用
这是一个有用的link
ios::in
和 ios::out
是 openmode flags,在您的情况下结合二进制 或 (|
) 操作.这样文件就可以读写打开了。
ios::in
允许从流中输入(读取操作)。ios::out
允许输出(写入操作)到流。|
(按位或运算符)用于组合两个ios
标志,
这意味着将ios::in | ios::out
传递给构造函数
std::fstream
为流启用 输入和输出。
重要注意事项:
std::ifstream
自动设置了ios::in
标志。std::ofstream
自动设置了ios::out
标志。std::fstream
既没有ios::in
也没有ios::out
自动
放。这就是在您的示例代码中明确设置它们的原因。