#c #list #linked-list #save #gif
Вопрос:
я создаю gif-файл, используя opencv и связанные списки
теперь структура является
// Frame struct
typedef struct Frame
{
char* name;
unsigned int duration;
char* path;
} Frame;
// Link (node) struct
typedef struct FrameNode
{
Frame* frame;
struct FrameNode* next;
} FrameNode;
FrameNode содержит фрейм, содержащий все данные, и в нем есть следующий, который используется для связанного списка
теперь я хочу сохранить данные после создания gif, допустим, у меня есть 3 кода фрейма в списке
Name Duration Path
1 200 ms C:UsersmagshimimDesktoptesttt.png
2 500 ms
C:UsersmagshimimDesktoptestt.jpg
3 800 ms C:UsersmagshimimDesktoptestkitten_run.jpg
как мне сохранить имя, продолжительность, путь и следующий из каждого фреймового кода, чтобы, когда я вернусь позже, я мог загрузить файл и продолжить с того места, где я остановился?
Комментарии:
1. 1. Определите используемый формат файла. 2. Реализуйте функцию загрузки и сохранения для формата файла.
2. Вы никогда не сохраняете значения указателей в файле. В этом случае просто сохраните имя, продолжительность, путь
3. тогда как я мог бы загрузить список в правильном порядке и, я слышал о формате файла json, но idk, если он подходит для того, что я хочу сделать, и, если возможно, дать несколько советов и указаний о том, как это сделать
4. Вы можете использовать
fprintf
— см. man7.org/linux/man-pages/man3/fprintf.3p.html5. @Hillskiller Порядок данных в файле должен совпадать с порядком в списке. Так что вы вроде как получаете заказ «бесплатно».