作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个文本文件,其中包含图书馆模拟程序的书籍信息,这是一个示例:
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/
我是一名优秀的程序员,十分优秀!