Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110

Чтение текстового файла

05.04.2019, 21:49. Показов 1443. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Такая задача: дано текст, который должен выводится при помощи функции switch().
Например, нажимаю 1 , должна вывестись первая часть текста. Нажимаю 2, выводиться вторая часть и так далее.
Каждая новая часть текста должна появляться на новой странице консоли.

Как это сделать? Подскажите.

И возможна ли занести части текста, которые вывелись, к массиву?


Вот текст:
Вложения
Тип файла: txt characters_procesor.txt (860 байт, 7 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.04.2019, 21:49
Ответы с готовыми решениями:

Преобразование текстового файла в двоичный и чтение исходных данных из двоичного файла.
#include<iostream> #include<fstream> #include<locale.h> #include<iomanip> #include <cstdlib> using namespace std; struct...

Как может корректно выполняющийся оператор >> (чтение из текстового файла) негативно влиять на открытие другого файла?
Друзья! Создадим два текстовых файла, f_0.txt и f_1.txt и что-нибудь в них запизаем, например в первый запихаем 1234 а во второй 5678 и...

Чтение из текстового файла
как сделать чтобы прога выводила на экран слова из текстового документа пока не натыкалась на символ ";" а после этого прога...

15
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
06.04.2019, 07:53
Programist_r, какой язык программирования?
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 14:34  [ТС]
c++object oriented programming
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
06.04.2019, 16:13
Programist_r,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <conio.h>
#include <regex>
#include <iterator>
 
typedef std::vector<std::string>::const_iterator iLine;
class Page {
    iLine first;
    iLine last;
public:
    Page(iLine l1, iLine l2) :first(l1), last(l2) {}
    iLine begin() const { return first; }
    iLine end() const { return last; }
};
 
typedef std::vector<Page>::const_iterator iPage;
struct textfile {
    std::vector<std::string> lines;
    std::vector<Page> pages;
 
    textfile(const std::string& fname) {
        std::ifstream in(fname.c_str());
        if (!in) exit(1);
        std::string line;
        while (std::getline(in, line)) lines.emplace_back(line);
 
        std::regex pat("Cena:");
        iLine first = lines.begin();
        for (iLine last = std::next(first); last != lines.end(); ++last) {
            if (std::regex_search(*last, pat)) {
                while (++last != lines.end() && last->empty());
                pages.emplace_back(Page(first, last));
                first = last;
            }
        }
    }
 
    iPage begin() const { return pages.begin(); }
    iPage end() const { return pages.end(); }
};
 
int main()
{
    textfile text("characters_procesor.txt");
    bool watch = true;
    while (watch) {
        if (_kbhit()) {
            int key = _getch();
            switch (key) {
            case '1': {
                system("cls");
                auto page = text.begin();
                if (page != text.end())
                    std::copy(page->begin(), page->end(), std::ostream_iterator<std::string>(std::cout, "\n"));
                break;
            }
            case '2': {
                system("cls");
                auto page = text.begin() + 1;
                if (page != text.end())
                    std::copy(page->begin(), page->end(), std::ostream_iterator<std::string>(std::cout, "\n"));
                break;
            }
            case '3': {
                system("cls");
                auto page = text.begin() + 2;
                if (page != text.end())
                    std::copy(page->begin(), page->end(), std::ostream_iterator<std::string>(std::cout, "\n"));
                break;
            }
            case 27:
                watch = false;
            }
        }
    }
}
1
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 19:12  [ТС]
Выдает 72 ошибки
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
06.04.2019, 19:14
Programist_r, попробуйте это:
Как включить в своей среде разработки поддержку определённого стандарта (С++11, С++14, С++17, C++20, C++23)
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 19:26  [ТС]
Возможно ли сделать этот код на чистом c++(без object)?
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
06.04.2019, 19:31
Цитата Сообщение от Programist_r Посмотреть сообщение
Возможно ли сделать этот код на чистом c++(без object)?
Простите, я не совсем понимаю, что значит на "чистом" с++
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 19:36  [ТС]
Без class и struct.
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
06.04.2019, 19:37
Вы имеете ввиду без использования system("cls"), _getch() и _kbhit()?

Добавлено через 1 минуту
Цитата Сообщение от Programist_r Посмотреть сообщение
Без class и struct.
можно и без них, только будет менее понятно и больше текста
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 19:45  [ТС]
Можете объяснить, что такое regex.
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
06.04.2019, 19:53
Цитата Сообщение от Programist_r Посмотреть сообщение
что такое regex
тип шаблон регулярного выражения для поиска синтаксической конструкции(со своей уникальной семантикой)
хотя не знаю зачем я его прилепил, тут можно было и простым поиском подстроки обойтись
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
06.04.2019, 21:09  [ТС]
Спасибо

Добавлено через 1 час 11 минут
Появился ещё один вопрос:
При нажатие клавиши выписывается текст, а потом при нажатие второй клавиши появляется второй текст и так далее.
Где это прописано? И как можно изменить, чтобы при нажатие клавиши выписывался текст, но потом не просило снова ввести новую цифру?


PS:
Извиняюсь за тавтологию
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
07.04.2019, 06:32
Цитата Сообщение от Programist_r Посмотреть сообщение
Где это прописано?
В цикле while стр.48
Цитата Сообщение от Programist_r Посмотреть сообщение
И как можно изменить, чтобы при нажатие клавиши выписывался текст, но потом не просило снова ввести новую цифру?
Не понял, а что вы хотите что бы было "потом"? (Выход из программы по нажатию клавиши Esc, если что)
0
1 / 1 / 0
Регистрация: 05.04.2019
Сообщений: 110
07.04.2019, 16:50  [ТС]
Мне нужно, чтобы при нажатии на клавишу, появлялся текст.
И после этого нельзя было вводит новый case.
0
 Аватар для zayats80888
6352 / 3523 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
07.04.2019, 16:53
Цитата Сообщение от Programist_r Посмотреть сообщение
И после этого нельзя было вводит новый case.
удалите строки 48, 49, 76, 77
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.04.2019, 16:53
Помогаю со студенческими работами здесь

Чтение из текстового файла
Вот код: #include &lt;iostream&gt; using std::cout; using std::endl; using std::cin; void main() { setlocale(LC_ALL,...

Чтение текстового файла
Знакомлюсь с чтением текстового файла. Изначально была такая программа: #include&lt;iostream&gt; using namespace std; struct spip ...

Чтение из текстового файла
Добрый день. Проблема моя в следующем: есть текстовой файл примерно следующего содержания a 10 2 2 b 5 5 1 c 3 7 0 d 5 22 0 ...

Чтение текстового файла
здравствуйте. у меня не получается считать текстовый файл. сам файл имеет имеет жесткую структуру: первая строка число(по сути колличество...

Чтение из текстового файла
Всем доброго времени суток. Допустим у меня есть файл (file.txt) Содержание текстового файла: { 12:20 13:10 13:20 }...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru