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

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

Восстановить пароль Регистрация
 
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 56
08.07.2016, 11:50     Считывание слов и чисел из файла #1
Доброго дня всем. Кто поможет найти ошибку?
Я пытаюсь из файла считать слова и числа, они идут друг за другом.
То есть слово пробел число пробел слово...
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;
            }
 
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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;
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 56
08.07.2016, 12:41  [ТС]     Считывание слов и чисел из файла #3
Цитата Сообщение от xKIVIx Посмотреть сообщение
у тебя зацикливание. в конце файла если не будет стоять пробел
так я в конце поставил пробел, после последнего числа
Megavolt78
10 / 10 / 3
Регистрация: 30.06.2016
Сообщений: 42
08.07.2016, 12:54     Считывание слов и чисел из файла #4
1. текст ошибки в студию
2. зачем после while стоит ";"
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 56
08.07.2016, 12:58  [ТС]     Считывание слов и чисел из файла #5
Цитата Сообщение от Megavolt78 Посмотреть сообщение
1. текст ошибки в студию
2. зачем после while стоит ";"
А вот ; я не заметил, когда редактировал. Убрал, потестил, в консоли все выходит, но что то не так идет во втором цикле, то есть после первого while выводится сообщение, после второго нет
_Scorpius_
46 / 46 / 23
Регистрация: 01.04.2015
Сообщений: 102
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);
            }
 
    }
И не нужны тут циклы (если конечно Вам не надо каждую цифру числа в отдельный элемент массива писать).
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.07.2016, 13:09     Считывание слов и чисел из файла
Еще ссылки по теме:

C++ Считывание из файла чисел с плавающей точкой
C++ Считывание целых чисел из файла
C++ Считывание отрицательных чисел из файла

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

Или воспользуйтесь поиском по форуму:
Blood Red Rose
0 / 0 / 0
Регистрация: 02.04.2016
Сообщений: 56
08.07.2016, 13:09  [ТС]     Считывание слов и чисел из файла #7
Цитата Сообщение от _Scorpius_ Посмотреть сообщение
Попробуйте так:
вот так заработало, только вот в recordscore записываются непонятные числа, у меня в файле просто нули, а выводит 6-ти значные

Добавлено через 1 минуту
Все, отбой, нашел ошибку. Благодарю за помощь всех.
Yandex
Объявления
08.07.2016, 13:09     Считывание слов и чисел из файла
Ответ Создать тему
Опции темы

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