Я относительно хороший программист на Java, но совершенно новый для C. Таким образом, некоторые из этих функций, указатели и т. Д. Дают мне некоторые проблемы ...Запись информации из файлов в файл архива?
Я пытаюсь создать файл архива (I ' m в основном перезаписывает вызов ar sys). Я могу fstat файлы, которые я хочу, хранить необходимую информацию в структуре, которую я определил. Но теперь наступает моя проблема. Я хочу написать структуру в файл архива. Поэтому я думал, что могу использовать sprintf()
, чтобы поместить мою структуру в буфер, а затем просто написать буфер.
sprintf(stat_buffer, "%s", file_struct);
write(fd, stat_buffer, 60);
Это не работает. Я могу сказать, что размер архивного файла увеличивается на желаемые 60 байт, но если файл cat
, он печатает бессмыслицу.
Кроме того, пытаясь написать фактическое содержимое файла не работает, либо ...
while (iosize = read(fd2, text_buffer, 512) > 0) {
write(fd, text_buffer, iosize);
if (iosize == -1) {
perror("read");
exit(1);
}
}
Я уверен, что это относительно легко исправить, просто интересно, что это такое!
Спасибо!
после записи() буфер ввода/вывода не сбрасывается. поэтому попробуйте fflush(), когда захотите заглянуть в файл извне. –