read_from_fdを複数回呼び出すと、データが空になることが発生しています。
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
int fd;
void read_from_fd() {
char data[2];
read(fd, data, 1);
data[1] = 0x00;
printf("data %s\n", data);
}
int main(void) {
fd = open("test.txt", O_RDWR);
read_from_fd();
read_from_fd();
read_from_fd();
}
したがって、最初の読み取りではデータが出力されますが、2 番目と 3 番目の読み取りでは空のものが出力されます。
これはcharからのメモリで何かをしなければならないと思います。これは正しいです?これを修正するにはどうすればよいですか?
ボードー