실행할때마다 파일명에 숫자를 증가시켜서 만들고 싶습니다.

jang5497의 이미지

test1.txt 파일을 실행시 만들고 또 새로 실행시 test2.txt파일을 만들고 싶습니다.
그래서 숫자를 매번 증가 시켜서 기록할수 있도록 data.txt 파일을 만들고 그파일안에 file_count를 읽고 쓰고 해서
0 1 2 3 4 5 6 형식으로 꾸준히 증가되는 숫자를 담은 data.txt파일을 만들고 싶은데.....
매번 똑같이 지역변수 초기화를 했던 0으로만 초기화 되네요.....
말그대로 fscanf()를 사용해도 data.txt의 숫자를 읽어오지못합니다.

#include<stdio.h>
#include<stdlib.h>
void main()
{
	int file_count=0;
	FILE *fr=fopen("c://data.txt","rt");
	FILE *fw=fopen("c://data.txt","wt");
 
    printf("file_count before: %d\n",file_count); 
    fscanf(fr,"%d",&file_count);
 
    printf("file_count after:%d\n",file_count);
 
    fclose(fr);
 
 
 
 
        file_count++;
    printf("file_count result: %d",file_count);
            fprintf(fw,"%d",file_count);
        fclose(fw);
 
}
raymundo의 이미지

일단 write를 위한 파일핸들은 읽기가 다 끝나고 fclose(fr)까지 한 다음에 열도록 해보시죠.
맥에서 해보니 그렇게 고친 걸로 잘 되는군요.
아마 write 모드로 열면서 파일 내용이 날아가버려서 그런 게 아닐까라고 생각됩니다.

좋은 하루 되세요!