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

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

Войти
Регистрация
Восстановить пароль
 
F I G H T E R
11 / 1 / 1
Регистрация: 21.01.2013
Сообщений: 26
#1

Программа считывания литерной матрицы из текстового файла не выходит из цикла - C++

12.04.2014, 19:15. Просмотров 278. Ответов 3
Метки нет (Все метки)

Доброго времени суток. Программа считывания литерной матрицы из текстового файла не выходит из цикла. Похоже что программа не достигает метки конца файла. Никак не могу понять в чём я ошибся. Подскажите пожалуйста.
Код программы:
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <stdio.h>
 
using namespace std;
 
const int height = 40 , width = 60;
 
int main()
{
    FILE *f;
    f = fopen("file.txt","rt");
    if(!f)
    {
        cout << "file.txt not found" << endl;
        return -1;
    }
 
    char arr[height][width];
    int w, h;
    char c;
    c = w = h = 0;
    while(!feof(f))
    {
        w = 0;
        while(((c = getc(f)) != '\n'))
        {
            //arr[h][w] = c;
            //cout << w << " ";
            cout << c;
            w++;
            //system("pause");
        }
        //cout << "h =" << h << endl;
        h++;
    }
    cout << "Work!!!" << endl;
    fclose(f);
    
    return 0;
}

Содержимое файла:
Кликните здесь для просмотра всего текста
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
111111111111111111111111111111111111111111111111111111111111
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2014, 19:15     Программа считывания литерной матрицы из текстового файла не выходит из цикла
Посмотрите здесь:

Программа обработки текстового файла C++
C++ Не выходит из цикла while
C++ Не выходит из цикла
Поогите написать программу считывания произвольного количества строк из текстового файла C++
C++ Сохранение и считывания списка с текстового файла
C++ Алгоритм Лемпела-Зивы. Программа не выходит из цикла
C++ Запись и считывания бинарного дерева с текстового документа
Не работает программа считывания последовательности из файла C++
Не выходит из цикла C++
Чтение матрицы из текстового файла C++
Написать программу для считывания элементов матрицы размером М х N из файла C++
C++ Почему после считывания матрицы из файла начинается повторное считывание?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
6111 / 5714 / 1849
Регистрация: 18.12.2011
Сообщений: 14,593
Завершенные тесты: 1
12.04.2014, 19:50     Программа считывания литерной матрицы из текстового файла не выходит из цикла #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Последняя строка может и не содержать \n:
C++
1
        while(((c = getc(f)) != '\n')&& !feof(f))
F I G H T E R
11 / 1 / 1
Регистрация: 21.01.2013
Сообщений: 26
12.04.2014, 22:20  [ТС]     Программа считывания литерной матрицы из текстового файла не выходит из цикла #3
zss, это да, но без \n программа всё равно из цикла не выходит(
alsav22
5410 / 4806 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
13.04.2014, 00:14     Программа считывания литерной матрицы из текстового файла не выходит из цикла #4
Цитата Сообщение от F I G H T E R Посмотреть сообщение
это да, но без \n программа всё равно из цикла не выходит(
Выходит, если исправить, как написал zss.
Yandex
Объявления
13.04.2014, 00:14     Программа считывания литерной матрицы из текстового файла не выходит из цикла
Ответ Создать тему
Опции темы

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