Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Troll1
1 / 1 / 1
Регистрация: 23.09.2012
Сообщений: 91
#1

Считать из файла от определенного символа(слова) до определенного символа(слова) - C++

21.10.2013, 18:46. Просмотров 1515. Ответов 3
Метки нет (Все метки)

Считываем текст из файла. Допустим от слова "Qwerty" до слова "Uiop". Примерно догадываюсь как это реализовать

C
1
2
3
4
5
6
7
8
9
10
11
FILE *f; 
char s; //сюда записывать нужный отрезок
  
f=fopen("c:\\Test.txt", "r");
if (f!=NULL)
   {
     fscanf(f, "%s" );
         for(int i=0; i<10000; i++)
     if (A[i]='Q' && A[i+1]='w' && ...)
        ....//??
   }
Думаю, мое задание понятно. Наверняка, у кого-нибудь есть решенное подобное или если кто-нибудь поможет на данном примере, буду очень признателен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.10.2013, 18:46     Считать из файла от определенного символа(слова) до определенного символа(слова)
Посмотрите здесь:

C++ Считать из файла до определенного символа
C++ есть функция из библиотеки string для взятия из строчки определенного символа?
C++ Считывание вещественных переменных до определенного символа
C++ Вывод части строки после определенного символа
C++ Как скопировать часть строки до определенного символа?
Как обрезать строку типа wchar_t* до определенного символа? C++
C++ Обрезать/скопировать string до определенного символа
C++ Копирование строки до определенного символа
Как скопировать подстроку из строки до определенного символа? Или удалить, начиная с этого символа C++
Определение номера определенного символа в char C++
Подсчитать в тексте количество вхождений определенного символа C++
Чтение строки до определенного символа C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
21.10.2013, 18:57     Считать из файла от определенного символа(слова) до определенного символа(слова) #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
 
int main() {
    string input;
    string start = "start", finish = "finish";
    ifstream fin("input.txt");
    getline(fin, input); // Читаем весь файл целиком
    input.erase(0, input.find(start) + start.length() + 1); // Стираем все от начала до начального слова + само начальное слово
    input.erase(input.find(finish) - 1, input.length()); //стираем все после конечного слова с конечным словом
    cout << input << endl;
    system("pause");
    return 0;
}
Troll1
1 / 1 / 1
Регистрация: 23.09.2012
Сообщений: 91
22.10.2013, 13:23  [ТС]     Считать из файла от определенного символа(слова) до определенного символа(слова) #3
GoldenChild, Спасибо, отлично расписал. Но ведь getch() считывает до символа '\n', а не такой функции, которая считывает целиком, ну и чтобы ее можно было легко вставить в твою прогу?
GoldenChild
28 / 28 / 4
Регистрация: 12.06.2013
Сообщений: 65
22.10.2013, 14:20     Считать из файла от определенного символа(слова) до определенного символа(слова) #4
Цитата Сообщение от Troll1 Посмотреть сообщение
GoldenChild, Спасибо, отлично расписал. Но ведь getch() считывает до символа '\n', а не такой функции, которая считывает целиком, ну и чтобы ее можно было легко вставить в твою прогу?
Скачать весь файл в переменную можно разными способами, например построчно читать и добавлять в нашу строку :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
 
int main() {
    string input = ""; 
    string temp = " "; 
    string start = "start", finish = "finish";
    ifstream fin("input.txt");
    while(!fin.eof() && temp != "") { // Пока не дойдем до конца файла
        getline(fin, temp); //Читаем строку до \n во временную строку
        input += temp; // Добавляем ее в исходной 
    } // После цикла мы получаем в строке string весь файл
    input.erase(0, input.find(start) + start.length() + 1); // Стираем все от начала до начального слова + само начальное слово
    input.erase(input.find(finish) - 1, input.length()); //стираем все после конечного слова с конечным словом
    cout << input << endl;
    system("pause");
    return 0;
}
Yandex
Объявления
22.10.2013, 14:20     Считать из файла от определенного символа(слова) до определенного символа(слова)
Ответ Создать тему
Опции темы

Текущее время: 15:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru