我有一个相当大的文本文件,并希望有一个C ++程序扫描它并返回我想要的章节。例如,假设该文件名为“MyTales.txt”,其内容为
MYTALE by Me (classifying what book it is)
CHAPTER ONE
Part 1: The Start
Part 1
(完整)是要返回的部分。
作为一个基本模板,这是我到目前为止的想法:
#include<iostream>
#include<fstream>
ifstream in;
ofstream out;
string book, chapter, part;
int main() {
cout << "Please enter the part to locate:\nBook: ";
cin >> book;
cout << "Chapter: ";
cin >> chapter;
cout << "Part: ";
cin >> part;
in.open("MyTales.txt");
while (in >> data) {
// where data is assigned
}
out.open("BookParts.txt");
out << data;
in.close();
out.close();
}
我只是不确定如何正确分配“数据”。我已经修改了一些字符串函数和其他东西,但似乎没有任何结果。非常感谢任何帮助!
答案 0 :(得分:0)
第一个问题是从其数值生成章节的标题。获取名称后,忽略包含章节名称的输入。然后读取输入,直到遇到以“CHAPTER”开头或输入结束的行。最后输出你读过的所有内容。