SaDFromSpb
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору #include <iostream> #include <iostream> #include <fstream> #include <sstream> using namespace std; #define STRINGBUFFER_SIZE 256 int main(int argc, char* argv[]) { ifstream in_f ("Svod.txt"); ofstream out_f; if (!in_f) { cerr << "ERROR: Can't open \"input.txt\"" << endl; return 1; } char sch[STRINGBUFFER_SIZE]; // буфер для хранения строки int line_q = 0; while (in_f.getline(sch, STRINGBUFFER_SIZE)) { // читаем очередную строку istringstream in_s(sch); // превращаем ее в поток line_q++; while (in_s >> sch) { // читаем очередное слово (по умолчанию разделитель слов - пробел) if (strcmp(sch, "price")==0) { // если очередное слово price ... if (!(in_s >> sch)) { // если после него в строке больше нет слов, то ... cerr << "ERROR: There is nothing after \"price\" at line " << line_q << endl; return 2; } out_f.open(strcat(sch, ".txt")); // добавляем расширение out_f.close(); // файл создан break; // ... для перехода к следующей строке (хотя можно проверить есть ли еще слова в этой строке (если это считается ошибкой)) } } } return 0; } | Всего записей: 209 | Зарегистр. 22-06-2004 | Отправлено: 17:57 03-02-2006 | Исправлено: SaDFromSpb, 18:28 03-02-2006 |
|