함수 기능
임시 파일을 생성하는 라이브러리함수
함수 원형
#include <stdio.h>
char *tmpnam(char *buf);
FILE *tmpfile();
리턴 값 : 고유한 임시파일의 경로이름을 가리키는 포인터, 고유이름 못만들면 NULL
함수 파라메터
buf
파일버퍼
함수 예제
tmpnam
#include<stdio.h>
#include<stdlib.h>
#define MAX_LINE 4096
int main(void){
char buf[MAX_LINE];
char name[L_tmpnam];
FILE *fp;
printf("temp file 1: %s\n",tmpnam(NULL));
tmpnam(name);
printf("temp file 2: %s\n",name);
if((fp=tmpfile())==NULL){
fprintf(stderr,"tmpfile error\n");
exit(1);
}
fputs("tmpfile created temporary file.\n",fp);
fseek(fp,0,SEEK_SET);
if(fgets(buf,sizeof(buf),fp)==NULL){
fprintf(stderr,"fgets error\n");
exit(1);
}
fputs(buf,stdout);
exit(0);
}
tmpfile
#include<stdio.h>
#include<stdlib.h>
#define BUFFER_SIZE 1024
int main(void){
char buf[BUFFER_SIZE];
char name[L_tmpnam];
FILE *fp;
printf("Temporary filename <<%s>>\n",tmpnam(name));
if((fp=tmpfile())==NULL){
fprintf(stderr,"tmpfile create error!!\n");
exit(1);
}
fputs("create tmpfile success!!\n",fp);
rewind(fp);
fgets(buf,sizeof(buf),fp);
puts(buf);
exit(0);
}
함수 결과
tmpnam
tmpfile
리눅스시스템 프로그래밍 - 홍지만 저
교재 내에 있는 예제를 바탕으로 작성한 글 입니다.
'C & LINUX' 카테고리의 다른 글
C / LINUX exit(3) _Exit(2) _exit(2) (0) | 2022.05.02 |
---|---|
C / LINUX tempnam(3) (0) | 2022.05.02 |
C / LINUX scanf(3) fscanf(3) sscanf(3) (0) | 2022.05.02 |
C / LINUX sprintf(3) snprintf(3) (0) | 2022.05.02 |
C / LINUX printf(3) fprintf(3) (0) | 2022.05.02 |