我有一个由以下代码转储的文件:
for (unsigned long long i = 0; i < 10; i++) {
unsigned char byte = rand() % 16;
printf("%02x", byte);
}
我可以使用fscanf
读取此文件:
uint8_t *buf;
uint64_t index = 0;
unsigned int byte;
while (fscanf(input_file, "%02x", &byte) == 1) {
buf[index] = static_cast<uint8_t>(byte);
index++;
}
如何使用POSIX read
函数而不是fscanf
将值读入buf
?
嗯...让我开始说,使用原始syscall并不是那么简单。您必须考虑到各种正常情况下正常的stdio功能需要注意的问题和边缘情况,甚至没有注意到。 在编写程序之前,请仔细阅读the manual page for read
。