Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <string.h>#include <sys/uio.h>int main () { struct iovec iov[3]; ssize_t nr; int fd, i; char *buf[] = { "The term buccaneer comes from the word boucan.", "A boucan is a wooden frame used for cooking meat.", "Buccaneer is the West Indies name for a pirate." }; fd = open ("/home/alexander/test.txt", O_CREAT | O_WRONLY, S_IRWXU | S_IRGRP | S_IROTH); if (fd == -1) { perror ("open"); return 1; } for (i = 0; i < 3; i++) { iov[i].iov_base = buf[i]; iov[i].iov_len = strlen (buf[i]); } nr = writev (fd, iov, 3); if (nr == -1) { perror ("writev"); return 1; } printf ("Wrote %d bytes.", (int) nr); if (close (fd)) { perror ("close"); return 1; } fd = open ("/home/alexander/test.txt", O_RDONLY); char foo[47], bar[50], baz[48]; iov[0].iov_base = foo; iov[0].iov_len = sizeof (foo); iov[1].iov_base = bar; iov[1].iov_len = sizeof (bar); iov[2].iov_base = baz; iov[2].iov_len = sizeof (baz); nr = readv (fd, iov, 3); if (nr == -1) { perror ("readv"); return 1; } printf ("Read %d bytes.", (int) nr); for (i = 0; i < 3; i++) printf ("%d: %s", i, (char *) iov[i].iov_base); if (close (fd)) { perror ("close"); return 1; } return 0;}
char *foo = (char *) malloc (strlen (buf[0])), *bar = (char *) malloc (strlen (buf[1])), *baz = (char *) malloc (strlen (buf[2]));
Страница сгенерирована за 0.018 секунд. Запросов: 21.