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

Чтение чисел из файла, содержащего концевые пробелы и переносы строк. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
vorubiam
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 3
07.12.2011, 00:52     Чтение чисел из файла, содержащего концевые пробелы и переносы строк. #1
Здравствуйте!
Помогите, пожалуйста, разобраться со следующей задачей.
В текстовом файле содержатся целые числа, разделенные произвольным количеством пробелов и переносов строк. Нужно эти числа из файла занести в стек. Написал такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
   
CStack stck;
int n; 
 
FILE * fRead; 
fRead = fopen("e:\\test.txt","rt"); 
 
while( !feof(fRead) ) 
{ 
    fscanf( fRead, "%lf", &n ); //считываем очередное число из файла и записываем в n  
    stck.push(n);               //помещаем значение переменной n в стек
} 
fclose(fRead);
Проблема в следующем: если после последнего числа в файле стоят пробелы или переносы строк, то оно дважды заносится в стек. Подскажите, пожалуйста, как это исправить?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.12.2011, 00:52     Чтение чисел из файла, содержащего концевые пробелы и переносы строк.
Посмотрите здесь:

чтение строк из файла C++
Чтение строк из файла C++
Из файла содержащего 65536 целых чисел записать в другой файл значения больше 150 C++
C++ Чтение строк из бинарного файла.
чтение из файла (массив строк) C++
Чтение строк из файла C++
Чтение строк, содержащих пробелы C++
Чтение строк из файла C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
07.12.2011, 07:59     Чтение чисел из файла, содержащего концевые пробелы и переносы строк. #2
целые читай через %d

Цитата Сообщение от vorubiam Посмотреть сообщение
если после последнего числа в файле стоят пробелы или переносы строк
у тебя ошибка новичка (нельзя читать через while (!feof(fp)) )

C++
1
2
    while(fscanf(fRead, "%d", &n) == 1)
        stck.push(n);
vorubiam
0 / 0 / 0
Регистрация: 07.12.2011
Сообщений: 3
07.12.2011, 10:30  [ТС]     Чтение чисел из файла, содержащего концевые пробелы и переносы строк. #3
большое спасибо, долго с этим мучался)
Yandex
Объявления
07.12.2011, 10:30     Чтение чисел из файла, содержащего концевые пробелы и переносы строк.
Ответ Создать тему
Опции темы

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