C ++:找到一本书的章节

时间:2014-10-10 21:35:02

标签: c++ file stream sequential

我有一个相当大的文本文件,并希望有一个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();
}

我只是不确定如何正确分配“数据”。我已经修改了一些字符串函数和其他东西,但似乎没有任何结果。非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

第一个问题是从其数值生成章节的标题。获取名称后,忽略包含章节名称的输入。然后读取输入,直到遇到以“CHAPTER”开头或输入结束的行。最后输出你读过的所有内容。