create-read.c 679 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <stdlib.h>
  4. #include <unistd.h>
  5. #include <sys/types.h>
  6. #include <sys/stat.h>
  7. #include <fcntl.h>
  8. #include <errno.h>
  9. #include <string.h>
  10. int main(int argc, char **argv)
  11. {
  12. const char *path;
  13. char buf[4];
  14. int fd, rc;
  15. if (argc < 2) {
  16. fprintf(stderr, "usage: %s <path>\n", argv[0]);
  17. return EXIT_FAILURE;
  18. }
  19. path = argv[1];
  20. /* create a test variable */
  21. fd = open(path, O_RDWR | O_CREAT, 0600);
  22. if (fd < 0) {
  23. perror("open(O_WRONLY)");
  24. return EXIT_FAILURE;
  25. }
  26. rc = read(fd, buf, sizeof(buf));
  27. if (rc != 0) {
  28. fprintf(stderr, "Reading a new var should return EOF\n");
  29. return EXIT_FAILURE;
  30. }
  31. return EXIT_SUCCESS;
  32. }