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

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

Войти
Регистрация
Восстановить пароль
 
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 85
#1

Считывание слов и чисел из файла - C++

08.07.2016, 11:50. Просмотров 300. Ответов 6
Метки нет (Все метки)

Доброго дня всем. Кто поможет найти ошибку?
Я пытаюсь из файла считать слова и числа, они идут друг за другом.
То есть слово пробел число пробел слово...
LOADED - структура, если что.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while(!feof(records))
    {
            for(char i = 0; i < 6; i++)
            {
                while(1);
                {
                    fscanf(records, "%c", &ch); if(ch==' ') break;
                    LOADED[i].name[k] = ch; k++;
                }
                ch = 0;
                k = 0;
                while(1);
                {
                    fscanf(records, "%d", &ch); if(ch==' ') break;
                    LOADED[i].recordscore[k] = ch; k++;
                } k = 0;
            }
 
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.07.2016, 11:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считывание слов и чисел из файла (C++):

Считывание 32-х битных слов из файла - C++
Здравствуйте. Есть задача посчитать чексумму, как сумму 32-х битных слов, считанных из файла. Подскажите, как считывать эти слова?

Считывание отрицательных чисел из файла - C++
Собственно как считать из файла отрицательное число? Положительные числа считываются нормально, при считывание отрицательных программа...

Считывание чисел из файла в массив - C++
Делая расчетку, запнулся на считывании данных :cry: Имеется файл вида n m 2 3 2 5 1 5 Например: 3 3

Считывание целых чисел из файла - C++
Всем привет! Есть задача: считать из файла целые числа (в файле может быть все, что угодно) и сохранить их сумму в новый файл, вот код: ...

Считывание чисел из файла и запись их в массив - C++
Имеется файл txt со следующей строкой: ght# 1, nkat= 8, str= 1.00000, lmv= 0.5000 0.0001 0.0001 (reduced coord) ght# 2, nkat= ...

Считывание чисел из файла с расширением .txt - C++
Решаю на с++ задачу, которая называется «Вырубка деревьев». Входными данными являются два целых числа, записанных через пробел в файле...

6
xKIVIx
0 / 0 / 1
Регистрация: 21.06.2016
Сообщений: 14
Завершенные тесты: 1
08.07.2016, 12:08 #2
у тебя зацикливание. в конце файла если не будет стоять пробел
Цитата Сообщение от Blood Red Rose Посмотреть сообщение
while(1); { fscanf(records, "%d", &ch); if(ch==' ') break; LOADED[i].recordscore[k] = ch; k++; } k = 0;
0
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 85
08.07.2016, 12:41  [ТС] #3
Цитата Сообщение от xKIVIx Посмотреть сообщение
у тебя зацикливание. в конце файла если не будет стоять пробел
так я в конце поставил пробел, после последнего числа
0
Megavolt78
10 / 10 / 3
Регистрация: 30.06.2016
Сообщений: 42
08.07.2016, 12:54 #4
1. текст ошибки в студию
2. зачем после while стоит ";"
0
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 85
08.07.2016, 12:58  [ТС] #5
Цитата Сообщение от Megavolt78 Посмотреть сообщение
1. текст ошибки в студию
2. зачем после while стоит ";"
А вот ; я не заметил, когда редактировал. Убрал, потестил, в консоли все выходит, но что то не так идет во втором цикле, то есть после первого while выводится сообщение, после второго нет
0
_Scorpius_
50 / 50 / 24
Регистрация: 01.04.2015
Сообщений: 105
08.07.2016, 13:01 #6
Попробуйте так:
C++
1
2
3
4
5
6
7
8
9
while(!feof(records))
    {
            for(char i = 0; i < 6; i++)
            {
                fscanf(records, "%s", LOADED[i].name);
                fscanf(records, "%d", &LOADED[i].recordscore);
            }
 
    }
И не нужны тут циклы (если конечно Вам не надо каждую цифру числа в отдельный элемент массива писать).
1
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 85
08.07.2016, 13:09  [ТС] #7
Цитата Сообщение от _Scorpius_ Посмотреть сообщение
Попробуйте так:
вот так заработало, только вот в recordscore записываются непонятные числа, у меня в файле просто нули, а выводит 6-ти значные

Добавлено через 1 минуту
Все, отбой, нашел ошибку. Благодарю за помощь всех.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2016, 13:09
Привет! Вот еще темы с ответами:

Считывание целых чисел из файла в вектор - C++
Встал вопрос о считывании целых чисел в вектор, но в файле всё char , как я понимаю. Какой самый производительный метод для...

Считывание из файла чисел с плавающей точкой - C++
программа считывания из файла чисел в двумерный массив но как только в файле обнаруживаются числа с плавающей точкой то программа перестает...

Считывание с файла чисел и букв, сортировка - C++
Помогите пожалуйста решить задачку. В файл записаны сначала имена, а потом цифры. Нужно чтобы в консоли этот файл читался и сначала...

Считывание из файла чисел, разделенных пробелом, в массив - C++
В текстовом файле массив целых чисел записанных через пробел. Затем переход на новую строку и еще один массив через пробел. Пытаюсь считать...


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
08.07.2016, 13:09
Ответ Создать тему
Опции темы

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