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

Как считывать файл в реальном времени

02.01.2022, 17:01. Показов 1712. Ответов 11

Author24 — интернет-сервис помощи студентам
никогда подобного не делал: мне нужно считывать файл (который расположен на компьютере) в реальном времени и если выскакивает сообщение: [15:33:43] [Client thread/INFO]: [CHAT] [Чат-игра] Решите пример: 973 + 874 , то програма считает уровнение и записывает в буфер обмена.

P.S. Проблема в том, что я не знаю как читать файл в реальном времени + обробатывать информацию и еще почему-то не выходить даже вывести содержимое


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <fstream>
#include <Windows.h>
#include <stdio.h>
#include <string>
using namespace std;
int main()
{
    SetConsoleOutputCP(1251);
    SetConsoleCP(1251);
    string temp;
    ifstream in;
    in.open("E:/SputnikV/logs/latest.txt");
    if (!in.is_open())
        cout << "Файл не може бути відкритим!\n";
    else
    {
        while (getline(in, temp)) {
            cout << temp;
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2022, 17:01
Ответы с готовыми решениями:

Как из VB считывать сигнал со входа звуковой карты в реальном времени?
Подскажите,плз, как из VB считывать сигнал со входа звуковой карты в реальном времени, не создавая...

Не могу в реальном времени считывать данные из Excel в VB.net
Здравствуйте, Раньше, в VB 6 использовал для этой цели DDE, но сейчас это не поддерживается....

Смоделировать систему, указанную в варианте, в реальном времени (или, по желанию, и в реальном, и при помощи квантования времени
Тещины блины - Теща печет блины, укладывая их в глубокие кастрюли. Зять с отменным аппетитом эти...

Задание:Смоделировать систему, указанную в варианте, в реальном времени (или, по желанию, и в реальном, и при помощи квантования времени) и провести
Turbo pascal Универсальный магазин Рассматриваются кассовые аппараты универсама. Каждый...

Как обновлять DateTime в реальном времени?
У меня есть Label, в который передаётся значение времени через DateTime.Now.ToString(&quot;HH:mm&quot;). Но...

11
Злостный нарушитель
9547 / 5176 / 1182
Регистрация: 12.03.2015
Сообщений: 24,445
02.01.2022, 17:26 2
Цитата Сообщение от Zepopo Посмотреть сообщение
Как считывать файл в реальном времени
Никак. Современные операционные системы не являются системами реального времени.
0
0 / 0 / 0
Регистрация: 09.10.2021
Сообщений: 72
02.01.2022, 17:45  [ТС] 3
а если как-то запускать програму каждые 2 секунды через консоль windows, такое возможно?
0
1355 / 854 / 365
Регистрация: 26.02.2015
Сообщений: 3,806
02.01.2022, 17:50 4
А кто это сообщение в файл записывает?
0
Злостный нарушитель
9547 / 5176 / 1182
Регистрация: 12.03.2015
Сообщений: 24,445
02.01.2022, 17:51 5
Цитата Сообщение от Zepopo Посмотреть сообщение
а если как-то запускать програму каждые 2 секунды через консоль windows, такое возможно?
Меня терзают смутные сомнения: думаю, что ты не понимаешь термин "реальное время" в контексте цифровой электроники.
0
Любитель чаепитий
3744 / 1800 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
02.01.2022, 17:55 6
Цитата Сообщение от Verevkin Посмотреть сообщение
Современные операционные системы не являются системами реального времени.
RTOS курит в сторонке.
0
Злостный нарушитель
9547 / 5176 / 1182
Регистрация: 12.03.2015
Сообщений: 24,445
02.01.2022, 17:59 7
Цитата Сообщение от GbaLog- Посмотреть сообщение
RTOS курит в сторонке.
Курить вредно.
Не думаю, что аффтар вопроса в курсе.
0
0 / 0 / 0
Регистрация: 09.10.2021
Сообщений: 72
02.01.2022, 21:47  [ТС] 8
ну для мня обновление каждые 1-2 секунди достаточно)

Добавлено через 1 минуту
Цитата Сообщение от Nishen Посмотреть сообщение
А кто это сообщение в файл записывает?
там по сути Сервер в игре пишет, а я могу только считывать чат в файле
0
1355 / 854 / 365
Регистрация: 26.02.2015
Сообщений: 3,806
02.01.2022, 22:20 9
Можешь написать некий Watcher, который будет опрашивать указанную тобой директорию. Если у нужного тебе файла изменилось время последней записи - открываешь и читаешь его. Но это плохой подход, потому что во время твоего чтения туда неожиданно может начаться запись со стороны сервера. Не знаю, чем это чревато, но думаю, что ничем приятным. Поэтому нужно делать подключение к серверу и получение уравнений прямиком от сервера в программу, без использования текстовых файлов.
0
Вездепух
Эксперт CЭксперт С++
12785 / 6663 / 1794
Регистрация: 18.10.2014
Сообщений: 16,854
02.01.2022, 22:59 10
Цитата Сообщение от Zepopo Посмотреть сообщение
никогда подобного не делал: мне нужно считывать файл (который расположен на компьютере) в реальном времени
Что такое "считывать файл в реальном времени" и чем оно отличается от считывания "не в реальном времени"?
0
Любитель чаепитий
3744 / 1800 / 566
Регистрация: 24.08.2014
Сообщений: 6,016
Записей в блоге: 1
03.01.2022, 09:28 11
можно дочитать файл, пока не выставятся биты eofbit и failbit, сбросить эти биты и попробовать прочитать снова.
но я не уверен, что это будет работать во всех сценариях.
0
Модератор
Эксперт Java
2694 / 1193 / 386
Регистрация: 11.08.2017
Сообщений: 3,688
Записей в блоге: 2
03.01.2022, 16:11 12
Лучший ответ Сообщение было отмечено Zepopo как решение

Решение

судя по
Цитата Сообщение от Zepopo Посмотреть сообщение
[15:33:43] [Client thread/INFO]: [CHAT] [Чат-игра] Решите пример: 973 + 874
и
Цитата Сообщение от Zepopo Посмотреть сообщение
там по сути Сервер в игре пишет, а я могу только считывать чат в файле
то игра эта майнкрафт

только непонятно зачем в метках стоит "с++ 1 курс", а файл открывается
Цитата Сообщение от Zepopo Посмотреть сообщение
C++
12
in.open("E:/SputnikV/logs/latest.txt");
игра может логи не сразу на диск сбрасывать (используется известный логгер благодаря последним события log4j), лучше запускать сервер(игру) дочерним процессом и читать вывод. я помню на джаве писал штуку которая как раз запускала как дочерный процесс и брала его outputstream в свой inputstream на который можно повесить сканер в бесконечном цикле и будет как раз таки обработка в реальном времени.
на плюсах тут имхо сложнее запустить дочерним процессом и вывод перенаправить (в джаве это их коробки есть).
0
03.01.2022, 16:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.01.2022, 16:11
Помогаю со студенческими работами здесь

Как рисовать в WPF в реальном времени
Здравствуйте,скажите пожалуйста,как рисовать в WPF в реальном времени,желательно не попиксельно,а...

Как организовать обновление в реальном времени?
Как организовать обновление в реальном времени? Есть объект из которого я беру значения, эти...

Как сделать чат в реальном времени?
Основной вопрос: как сделать чат в реальном времени? Причем я подразумеваю не тот чат, который...

Как обновлять значения переменной в реальном времени
Как изменять значения переменной в реальном времени при изменении размеров окна и т.д. let...

Как получать значение инпута в реальном времени
Хочу улучшить регистрацию и сделать чтобы , когда пользователь вводил что-то не то инпут становился...

Как сделать изменение значения в реальном времени?
&quot;a&quot; это здоровье как сделать чтобы оно изменялось в реальном времени допустим когда я нажимаю удар...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru