我正在做家庭作业,我们的任务是做“图书馆系统” 我无法从文件中保存/加载书籍。
void Library::save() {
std::ofstream file(fileName);
if (file.is_open()) {
for (auto &b : books) {
std::stringstream ss;
std::stringstream genres;
for (auto &g : b.getGenres())
genres << g;
ss << b.getName() << b.getAutor() << b.getMajor() << genres.str() << b.getBorrowed() << "\n";
file << ss.str();
}
file.close();
}
void Library::load() {
std::streampos size;
char *memblock;
std::ifstream file(fileName, std::ios::in | std::ios::binary | std::ios::ate);
if (file.is_open()) {
size = file.tellg();
memblock = new char[size];
file.seekg(0, std::ios::beg);
file.read(memblock, size);
file.close();
printf(memblock);
std::cout << sizeof(memblock);
delete[] memblock;
}
}
当我加载它时,它是如何排成一行的,我如何分开它们?或者我做错了吗?
答案 0 :(得分:0)
您的问题不是很清楚,并且您没有包含所有代码,但我认为您可能会问的是如何分隔文本文件中的行。写入文件时,可以使用“\ n”跳到下一行。如果这有用,请将其投票。