포토샾이나 드림위버를 이용해서 작업을 하다가 TEMP파일에 임시 파일이 들어가는 걸 확인 했다.


 그런데, 포토샾이라는 표시를 위해서 'PhotoShop tmpxxxxx' 이런식으로 파일이 생성 되는걸 확인 했다.


 TEMP 파일을 생성하는걸 보니, 파일명을 따로 정의 내리는게 없어 보였다.


 TEMP 파일 생성의 함수를 사용하는게 아니라면, 파일을 새로 원하는 형태로 만들었다. 라는 판단에 시스템 변수의 값을 출력하는 방법을 찾아 보았다.


 원본


 찾아보니, 다음과 같은 블로그에서 설명이 되어 있었다.


 시스템 변수를 찾는 방법으로 #include <stdio.h>에 정의 되어져 있는 getenv()라는 함수를 사용하거나 환경변수 envp을 이용해서 변수를 찾는 방법을 사용했다.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
//#include <stdlib.h>
 
 
int main(int argc, char* argv[], char* envp[]) {
  char *s;
 
  // 지정한 특정 환경변수만 출력
  s = getenv("PATH");
 
  if (s != NULL)
    printf("%s\n", s);
  else
    fputs("그런 환경 변수가 없습니다\n", stderr);
 
  // 모든 환경변수 출력 (envp 이용하여)
  for (int i = 0; envp[i] != NULL; i++)
    printf("%s\n", envp[i]);
 
  return 0;
}
 
cs


 이렇게 해서 환경변수를 출력할 수 있으며, getenv을 이용해서 원하는 변수를 받을 수 있으니, 이걸 이용해서 TEMP 파일을 생성 할 수도 있을 것 같다.


 하지만, C언어의 tmpfile을 이용하는게 더 나을 것 같다.

Posted by JunkMam
,