프로그래밍/조각코드
빌드 버전 생성 임시코드
ngcbbs
2012. 2. 29. 21:30
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <windows.h> #include <time.h> char szComputerName[17] = {0,}; char szUserName[17] = {0,}; void main() { const char* dat_file = "prebuild.dat"; const char* build_file = "build.h"; FILE* fp = NULL; fp = fopen( dat_file, "rb" ); if ( NULL == fp ) { int init_build = 0; fp = fopen( dat_file, "wb" ); fwrite(&init_build, sizeof(int), 1, fp); fclose( fp ); fp = fopen( dat_file, "rb" ); } int new_build = 0; fread(&new_build, sizeof(int), 1, fp); fclose( fp ); new_build++; fp = fopen( dat_file, "wb" ); fwrite(&new_build, sizeof(int), 1, fp); fclose( fp ); fp = fopen( build_file, "wt" ); fprintf(fp, "#define __BUILD_COUNT__ %d\n", new_build); DWORD nSize = MAX_COMPUTERNAME_LENGTH + 1; ::GetComputerName(szComputerName, &nSize); ::GetUserName(szUserName, &nSize); fprintf(fp, "#define __BUILD_COMPUTER__ L\"%s\"\n", szComputerName); fprintf(fp, "#define __BUILD_USER__ L\"%s\"\n", szUserName); time_t timer; struct tm *t; timer = time(NULL); t = localtime(&timer); fprintf(fp, "#define __BUILD_TIME__ L\"%d월 %d일 %d시 %d분\"\n", t->tm_mon+1, t->tm_mday, t->tm_hour+1, t->tm_min); fclose(fp); }- 개선할 점 : 옵션처리( ansi / unicode / 추가 텍스트 ).