#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int count;
scanf("%d", &count);
int i = 1;
while (1)
{
printf("%d\n", i);
if (i == count)
break;
i++;
}
return 0;
}
책이랑 똑같이 입력했는데
1>------ 빌드 시작: 프로젝트: do_while_0_to_99, 구성: Debug Win32 ------
1>do_while_0_to_99.c
1>LINK : fatal error LNK1168: c:\project\do_while_0_to_99\Debug\do_while_0_to_99.exe을(를) 쓰기용으로 열 수 없습니다.
1>"do_while_0_to_99.vcxproj" 프로젝트를 빌드했습니다. - 실패
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========
이렇게 나옵니다. 무슨 뜻인지도 모르겠고 이유도 모르겠습니다.
해결: 재부팅하면 됩니다!
원인
1. 어딘가에서 명령 프롬프트에서 do_while_0_to_99.exe를 실행 중입니다. 아마도 scanf의 숫자 입력을 대기 중일 겁니다.
2. 이 상태에서 Visual Studio에서 재빌드를 실행하면 실행 파일 do_while_0_to_99.exe를 덮어쓸 수 없습니다. 아직 실행 중이니까요. 그래서 에러 메시지에 "쓰기용으로 열 수 없습니다"라고 표시됩니다.
그래도 해결을 못한다면 새로운 프로젝트를 생성하고, 소스 코드를 복사해서 쓰면 해결 됩니다. 물론, 재부팅은 하세요.
원인2
실행 중도 아니지만 백신 프로그램이 검사한다고 실행 중이면 그렇습니다.
특히 Avast와 Visual Studio는 상성이 안 좋습니다.
재부팅하세요!