Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
vitalykuzmin
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
1

Как переделать с файла на консоль

21.11.2015, 15:33. Просмотров 805. Ответов 4
Метки нет (Все метки)

Пытаюсь переписать код на считывание с консоли при вводе а не с файла и не выходит, помогите ламеру.
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
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <cctype>
using namespace std;
 
void sentence(istream& in)
{
    bool state = false;
    char c;
 
    while ((c = in.get()) && isspace(c))
        ;
    if (c == '-')
        state = true;
    else
        state = false;
 
    if (state) {
        while (isspace(c));
        cout << c;
        while ((c = in.get()) && state) {
            cout << c;
            if (c == '.' || c == '!' || c == '?')
                state = false;
        }
        cout << endl;
    }
}
 
int main()
{
    string file_name;
    cout << "file name: ";
    cin >> file_name;
    ifstream in;
    in.open(file_name.c_str(), ios::in);
    if (!in.good()) {
        cout << "Couldn't read file.\n";
        exit(1);
    }
    while (!in.eof())
        sentence(in);
    in.close();
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2015, 15:33
Ответы с готовыми решениями:

Как вывести матрицу из файла в консоль?
У меня есть 3 матрицы 3 на 3. Возник вопрос как их прописывать в файле и затем...

Однонаправленный список: переделать код под консоль
Имеется три файла, помогите пожалуйста, мне нужно эту задачу реализовать в...

Реализовать поиск файла в каталоге и вывод на консоль заданных атрибутов найденного файла
Приведите, пожалуйста, пример кода программы, которая ищет файлы, находящиеся в...

Вывод файла на консоль
Мне нужно, чтобы на консоль данные из файла выводились не в строку, а так как...

Вывод бинарного файла на консоль
Имеется структура typedef struct { int n; char name; ...

4
nmcf
6515 / 5744 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
21.11.2015, 15:40 2
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
void sentence()
{
    bool state = false;
    char c;
 
    while ((c = сin.get()) != '\n' && isspace(c))
        ;
    if (c == '-')
        state = true;
    else
        state = false;
 
    if (state)
    {
        while (isspace(c));
        cout << c;
        while ((c = cin.get()) != '\n' && state)
        {
            cout << c;
            if (c == '.' || c == '!' || c == '?')
                state = false;
        }
        cout << endl;
    }
}
1
vitalykuzmin
0 / 0 / 0
Регистрация: 06.10.2015
Сообщений: 4
21.11.2015, 17:56  [ТС] 3
а что изменить в int main() чтобы полноценно работало?
0
Nosey
1376 / 403 / 144
Регистрация: 22.10.2014
Сообщений: 872
Завершенные тесты: 2
21.11.2015, 19:26 4
Лучший ответ Сообщение было отмечено vitalykuzmin как решение

Решение

std::cin это и есть istream
т.е. меняем мейн:
C++
1
2
3
4
5
6
7
int main()
{
    while (!std::cin.eof())
        sentence(std::cin);
    system("pause");
    return 0;
}
и sentence не трогаем.
1
nmcf
6515 / 5744 / 2617
Регистрация: 14.04.2014
Сообщений: 24,494
21.11.2015, 21:10 5
Nosey, если так сделать, то как только get() извлечёт '\n' консоль перейдёт в режим ввода и так будет бесконечно.
Вариант автора вообще не верный. Должно быть так:
C++
1
while ((c = in.get()) != EOF && isspace(c))
2
21.11.2015, 21:10
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2015, 21:10

Вывод строк в консоль из файла
Данный метод должен выводить из файла 15 строк, где GetSubject_1() принимает...

Вывод данных из файла в консоль
Здравствуйте! Такая проблема - не могу правильно вывести данные из файла в...

Нужно считать строки из файла в консоль
Нужно считать строки из файла в консоль, потом из этих строк найти строки в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru