#include #include #include #include #include int main(int argc, char **argv) { const char *path = "/zvfs/func_test.dat"; printf("open: %s\n", path); int fd = open(path, O_CREAT | O_RDWR | O_TRUNC, 0644); if (fd < 0) { perror("open"); return 1; } const char *msg = "ABCDEFGHIJKL"; ssize_t w = write(fd, msg, strlen(msg)); if (w < 0) { perror("write"); return 2; } printf("write: %zd\n", w); const char *msg2 = "MNOPQRSTUVWXYZ"; ssize_t w2 = write(fd, msg2, strlen(msg2)); if (w2 < 0) { perror("write"); return 2; } printf("write: %zd\n", w2); close(fd); fd = open(path, O_RDONLY); if (fd < 0) { perror("open R"); return 3; } char buf[10]; memset(buf, 0, sizeof(buf)); ssize_t r = read(fd, buf, sizeof(buf)); if (r < 0) { perror("read"); return 4; } printf("read: %zd bytes: %.*s\n", r, (int)r, buf); char buf2[512]; memset(buf2, 0, sizeof(buf2)); ssize_t r2 = read(fd, buf2, sizeof(buf2)); if (r2 < 0) { perror("read"); return 4; } printf("read: %zd bytes: %.*s\n", r2, (int)r2, buf2); close(fd); if (unlink(path) != 0) { perror("unlink"); return 5; } printf("unlink: ok\n"); return 0; }