У меня есть довольно большой текстовый файл и вы хотите иметь программу на C++, которая просматривает ее и возвращает раздел главы, который я хочу. Например, допустим, что файл называется «MyTales.txt», а содержимое нейC++: Поиск главы книги
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();
}
Я просто не знаю, как назначить «данные» правильно. Я возился с некоторыми строковыми функциями и другими вещами, но ничего не получается. Любая помощь очень ценится!
http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong – Mat
Текстовый файл - это * очень неструктурированный формат файла. Все, что вы знаете, это то, где начинается и заканчивается линия. Точная семантика строки не фиксирована вообще, просто фрагмент символов. Вы должны будете сделать свои собственные правила. Что-то драконовское, как первая строка главы, содержит количество строк в заголовке и тексте главы. XML - драконовский формат. Все идет, если какая-либо программа генерирует текстовый файл, согласуется с вашими правилами. –
Ну, я не говорю, что это не то, что я хочу делать, это просто то, что я имею дело с большим количеством данных, которые, случается, были сохранены в текстовых файлах, поэтому перелистывая все это в другой формат на самом деле это не было бы выбором. – T145