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

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

Восстановить пароль Регистрация
 
F I G H T E R
11 / 1 / 1
Регистрация: 21.01.2013
Сообщений: 26
12.04.2014, 19:15     Программа считывания литерной матрицы из текстового файла не выходит из цикла #1
Доброго времени суток. Программа считывания литерной матрицы из текстового файла не выходит из цикла. Похоже что программа не достигает метки конца файла. Никак не могу понять в чём я ошибся. Подскажите пожалуйста.
Код программы:
Кликните здесь для просмотра всего текста
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)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5943 / 5548 / 1783
Регистрация: 18.12.2011
Сообщений: 14,167
Завершенные тесты: 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
5282 / 4801 / 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     Программа считывания литерной матрицы из текстового файла не выходит из цикла
Ответ Создать тему
Опции темы

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