C언어 파일 입출 력문 질문 있습니다.
세련
#includestdio.h
#includestdlib.h
#includeWindows.h
#includestring.h
#includetime.h
int __stdcall WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nShowCmd);
int main(void){
&{
char date[64]; //날짜 입력
char time[64]; //시간 입력
FILE * log_dat; //log 파일.
//int coun=1, fill=1;
//double jj,kk;
int se=0;
int coun2=0;//리부팅 카운터
system(title \\\\SV=414.4.30);
system(mode con cols=30 lines=5);
//system(start /min);
while(1){
if(system(pushd \\\\sv\\dc\\source)==NULL){//SV test
//if(system(pushd \\\\192.15.131.12\\sun)==NULL){//test 용
a: //NO 클릭시 되돌아 옴
se=se+1;
coun2=coun2*0;//SV복구시 리부팅 카운터 리셋
system(cls);
system(color B);//성공시 초록색
printf(\n);
printf(SV DIR 접속성공● %d \n,se);
_strtime(time);
printf(서버시간:%s,time);
Sleep(2500);//2.5초간 대기
}
else{
coun2=coun2+1;//리뷰팅 카운터
//se=se+1;
system(cls);
system(color 4);//손실시 빨강색
printf(\n);
printf(SV DIR 접속실패● \n);
printf(10번 실패시 재부팅 %d번\n,coun2);
_strtime(time);
printf(서버시간:%s,time);
Sleep(2000);//2초간 대기
//리부팅 카운터가 7일때 실행.
if(coun2==2){
system(cls);
//PC,리뷰팅 log 기록
freopen(c:\\dnc\\log\\IPClog.log, a, stdout);
_strdate(date);
_strtime(time);
system(hostname);printf(날짜,%s 시간,%s 에 리뷰팅/종료 되었습니다.\n,date,time);
printf(\n);
log_dat=freopen(CON, a, stdout);
Sleep(500);//0.5간 대기
//리뷰팅 명령,
system(shutdown /r);
//메시지 출력
if(MessageBoxA(NULL, IPC 장기간 사용으로 인하여 SV217에러가 발생 하였습니다.\n 30초 후에 재부팅 하도록 하겠습니다., SV 에러, MB_SYSTEMMODAL | MB_TOPMOST | MB_ICONINFORMATION | MB_YESNO)==IDYES){
}else{
coun2=coun2*0;
system(shutdown /a);
goto a;
}
}
else{
}
}
}
return 0;
}이프로그램은 클라이언트와 서버간에 공유가 잘되는지 안되는 지 확인
그리고 잘안될때 자동으로 리뷰팅과 log를 남기는 프로그램 인데요.
공유폴더 접속이 잘안될때
메시지가 출력되고
메세지 출력시 아니오 버튼 을 눌렸을시 리뷰팅시키는 걸 중지 시키고goto 문으로 되돌아가서 다시 처음부터
실행 되어야 하는데
이상하게 실행이 안되네요 이상한 문자 나오고 왜그럴까요?? 글자는 보이지 않고 ㅜㅜ
이상하네요 ㅜㅜ
-
친화력
아니요 정확한 프로그램입니다 else는 확실히 실행 되고 있고요. 제말은 goto 로 돌아가서 왜 while 문이 실행되는데 그안의 부속 함수들이 실행이 안되는지 궁굼한거 입니다
-
보단
음 제가 MessageBox함수를 사용할 수 없는 환경(리눅스)입니다.
그래서 한가지 해결책을 드리자면 MessageBox의 return값을 확인해보세요.
retrun값과 IDYES의 값이 같기 때문에 else문 자체를 실행하지 않는 것일 수도 있습니다.
printf(\%d\\n\