gpt4 book ai didi

从 txt 文件读取时,C++ 重载流 I/O 运算符

转载 作者:行者123 更新时间:2023-11-30 03:55:16 26 4
gpt4 key购买 nike

我有一个文本文件,其中包含图书馆模拟程序的书籍信息,这是一个示例:

P.G. Wodehouse, "Heavy Weather" (336 pp.) [PH.409 AVAILABLE FOR LENDING]
Isaac Asimov, "The Gods Themselves" (288 pp.) [UM.824 AVAILABLE FOR LENDING]
Olaf Stapledon, "Odd John" (224 pp.) [LN.171 AVAILABLE FOR LENDING]
...etc

我是 C++ 的新手,我把它写成一个开始,但正如你所看到的,我需要的每条数据之间没有明确的分离,我不知道如何轻松地分离它们,请帮助:

istream& operator<<(istream& in, LibraryBook& b){
string author,title,classification,status;
int pages;
in >> author >> title >> pages >> classification >> status;
return in;
}

最佳答案

我会使用 getline 然后使用字符串函数来提取字段:

string str;
getline(in, str);

string::size_type k1, k2;

k1 = 0;
k2 = str.find(',');
string author = str.substr(k1, k2);

k1 = str.find('"');
k2 = str.find('"', k1);
string title = str.substr(k1, k2);

k1 = str.find('(');
k2 = str.find(' ', k1);
string temp = str.substr(k1+1, k2-k1);
int pages = atoi(temp.c_str());
...

关于从 txt 文件读取时,C++ 重载流 I/O 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29158327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com