mkostemps.c 771 B

123456789101112131415161718192021222324252627
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. int main(int argc, char** argv) {
  5. char* file_name = (char*) calloc(18, sizeof(char));
  6. strcpy(file_name, "tempXXXXXX.suffix");
  7. int fd = mkostemps(file_name, 7, 0);
  8. FILE* fp = fdopen(fd, "w+");
  9. printf("Start unchanged: %d\n", strncmp(file_name, "temp", 4));
  10. printf("End unchanged: %d\n", strcmp(file_name + 4 + 6, ".suffix"));
  11. char* write = "Writing to file";
  12. fputs(write, fp);
  13. char buffer[sizeof write];
  14. memset(buffer, 0, sizeof buffer);
  15. fgets(buffer, strlen(buffer), fp);
  16. if (strcmp(write, buffer)) {
  17. printf("Read & Write Successful\n");
  18. } else {
  19. printf("Read & Write Failed\n");
  20. }
  21. fclose(fp);
  22. remove(file_name);
  23. return 0;
  24. }