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

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

21.11.2015, 15:33. Просмотров 196. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Как переделать с файла на консоль (C++):

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

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

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

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

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

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

4
nmcf
6243 / 5555 / 2526
Регистрация: 14.04.2014
Сообщений: 23,353
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 / 1
Регистрация: 06.10.2015
Сообщений: 4
21.11.2015, 17:56  [ТС] #3
а что изменить в int main() чтобы полноценно работало?
0
Nosey
1349 / 400 / 144
Регистрация: 22.10.2014
Сообщений: 863
Завершенные тесты: 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
6243 / 5555 / 2526
Регистрация: 14.04.2014
Сообщений: 23,353
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
Привет! Вот еще темы с решениями:

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

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

Ввод матрицы из файла и вывод на консоль
Подскажите, в чем проблема. Данные для матрицы берем из файла, а выводим ее на...

Вывод из файла в консоль массив структур
После добавления информации в файл не хочет считывать ту информацию которую...


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

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

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