我有一个结构体,并使用write()将其写入文件。
现在我在硬盘上有一个名为"output"的文件,然后我想读取这个文件来测试数据。
目前,我有bufferRead,但我不知道如何读取缓冲区并将数据插入到结构体中。
struct PointFull {
double lat;
double lon;
};
PointFull item;
void* buffer = malloc(sizeof (item));
int fd = open("output", O_WRONLY | O_CREAT, S_IWUSR | S_IRUSR);
if (fd < 0) {
printf("Error opening file\n");
return 1;
}
memcpy(buffer, &item, sizeof (item));
write(fd2, buffer, sizeof (item));
现在我在硬盘上有一个名为"output"的文件,然后我想读取这个文件来测试数据。
int fd2 = open("output", O_RDONLY, S_IWUSR | S_IRUSR);
if (fd2 < 0) {
printf("Error opening file\n");
return 1;
}
void* bufferRead;
bufferRead = malloc(100);
read(fd2, bufferRead,100);
目前,我有bufferRead,但我不知道如何读取缓冲区并将数据插入到结构体中。
item
,无需通过中间缓冲区。 - Jonathan Pottermalloc
的合法用例并不多,甚至可能没有。 - Carcigenicatemalloc
将返回一个空指针,这很容易测试;防范构造函数失败则要麻烦得多。 - Beta