从文件中读取结构

时间:2015-02-06 15:11:48

标签: c linux file io posix

我正在尝试在文件中编写4个无符号整数的结构,然后将其读回,但我无法读取任何内容。

这是我的代码:

// create and write values in superblock
..
Superblock s; // the struct
if(write(file_desc , &superblock , sizeof(Superblock)) == -1) {
  perror("writing superblock");
  exit(1);
}
close(file_desc);
file_desc = open(path_file, O_WRONLY | O_CREAT, 0600);
while ( ( read( file_desc , &s , sizeof(Superblock))) > 0 ) {
  printf("%u %u %u %u\n", s.block_size, s.filename_size, s.max_file_size,
         s.max_dir_file_no);
}

它甚至不会进入循环。我错过了什么?

1 个答案:

答案 0 :(得分:5)

您正在打开文件以进行只写(O_WRONLY),然后尝试从中read