0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 30
|
||||||
1 | ||||||
Запись данных из файла в связанный список12.11.2018, 00:26. Показов 676. Ответов 3
Здравствуйте,
нужно выгрузить данные про песни (название, год, альбом итд) из файла в связнный список. Каждая одна песня- список. В файл они были загружены тоже с помощью списка. Но я теперь не знаю как из файла выгрузить данные в виде списка а потом знать указатель на первый элемент. Вот код, который я попробовала написать
В файле каждая песня разделена вот этим \r\n . Выглядит подобным образом: Song title: One Album: One Year: 1 Genre:one Length (min, sec) 1:1 Artist: one belong to pl: 1 ID: 00B40D48 Song title: two Album: two Year: 2 Genre:two Length (min, sec) 2:2 Artist: two belong to pl: 0 ID: 00B40E18
0
|
12.11.2018, 00:26 | |
Ответы с готовыми решениями:
3
Выгрузка данных из файла в связанный лист: непонятный элемент Запись в связный список из файла Сформировать циклический связанный список (очередь) Построить в динамической памяти линейный связанный список строкового типа данных |
Невнимательный
|
||||||
12.11.2018, 04:58 | 2 | |||||
Вы пробовали, как работают эти fsprintf ? В названиях могут быть пробелы?
Пробую запустить на скопированых отсюда строках, из-за этого слегка изменил формат, и всё-равно не могу вывести , .data.artist это крайнее что я смог получить, и то если заменяю это %s
0
|
0 / 0 / 0
Регистрация: 17.08.2017
Сообщений: 30
|
|
13.11.2018, 02:04 [ТС] | 3 |
Да в названиях могут быть пробелы,
но я не знаю по какому принципу сканф читает в структуру, для меня это просто не понятно. В смысле, например, я сделала по той логике, что просто копирую слова, которые мне не нужны в структуре (как Song title, а нужные данные заменяю на %s это правильно? Спасибо за ответ
0
|
724 / 224 / 72
Регистрация: 01.03.2011
Сообщений: 629
|
||||||
13.11.2018, 07:51 | 4 | |||||
Т.к в названиях могут быть пробелы - неправильно.
%s прекращает парсинг наткнувшись на 1й же пробел (на любой символ для которого isspace() возвращает не 0) Используйте %[] как вы сделали для поля Artist, но с ограничением максимального размера.
Но вообще, я бы посоветовал использовать fgets() для чтения строки целиком, и после проверок типа строка прочитана полностью, не превышает макс. размер, не пустая, и тп. парсил бы руками, ну или sscanf() на худой конец.
1
|
13.11.2018, 07:51 | |
13.11.2018, 07:51 | |
Помогаю со студенческими работами здесь
4
Линейно-связанный список: вывести список положительных и отрицательных чисел Связанный список. Создать, записать в связный список последовательность слов,обозначающих месяцы года,заданных пользователем Связанный список Связанный список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |