кол-во данных не известно. Раньше я использовал realloc. Но немогу понять, как обойтись без realloc.
Можно читать данные в двусвязный список, например.
И ещё.
Граф. N- дерево.
Сылки на детей я хронил в массиве используя realloc, без realloc можно хранить в одно связном списке.
Вообщем. Хз. Как вы храните данные из файла и детей в графах?
что значит размер файла неизвестен? его всегда можно посчитать
из надо хранить по отдельности.
ну я скачиваю visual studio 2022, скачиваю плагин "разработка настольных приложений на языке с#", жду загрузки. Затем я создаю консольный проект .Net Framework и использую пространство имен System.IO, в нем находится нужный тебе класс File
Ну, я имею ввиду размер массива до чтения файла неизвестен, так как файл может быть любым
в графе можно хранить голову списка, и дописывать в нее, как только появляется непосредественный ребенок
это мешает выстроить математическую зависимость связанных с потенциальным размером файла величин?
вот решение парни
а я беру stackoverflow и гуглю то же самое, но на С и под linux
Ну вот и я также подумал. Использовать список
это очевидное решение, да
допустим custom_filesize_t custom_func_get_file_size(FILE *const _file) даёт нужную величину, с ней и работай
неправильно, лучше использовать union
union c чем?
с данными
union разделяет общую область памяти, это абсурд
тебе не кажется что это подходит на шутку
Да, спасибо, я понял, файл изменяется по мере жизни, и не всё строки нужны. Нужно забрать только данные с датчиков . А всё эти варнинги, Эрроры не нужны. Поэтому и такой вопрос был. Видимо список подходит лучше всего
Интересная задача. Еще есть похожая - развернуть строку. На прием поступает строка неизвестной длины, нужно повернуть ее задом наперед оптимальным образом.
Почему неизвестен размер файла, его всегда можно узнать, часто вполне себе адекватным образом
Да😁. Я неправильно выразил мысль. Я поправил выше. Неизвестен массив для конечных данных. Файл может быть разным, с разным кол-вом данных.
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ struct ListNode* reverseList(struct ListNode* head){ struct ListNode* current = head; struct ListNode* prev = 0; struct ListNode* tmp = 0; while (current) { tmp = prev; prev = current; current = current->next; prev->next = tmp; } return prev; }
Обсуждают сегодня