C언어에서 system함수 이용 파일 삭제시 질문드립니다.

quarterhorse의 이미지

좋은 주말입니다.

다름이 아니라 간단한걸 하나 여쭤보려고 하는데요,

#include <stdio.h>
#include <stdlib.h>
int main()
{
	system("del c:\test.txt/q");
	return 0;
}

위와 같은 코드가 있다고 할때, 실제 실행해 보면 위험(?) 하게도 c:\에 있는 모든 파일들을 지워버립니다 (...)

의도한 결과는 c:\드라이브 루트에 있는 test.txt를 날리려고 한 것인데...

혹시 이것이 왜 이러한 동작을 해버리고, 해결할 방법을 아시는분은 도움을 주신다면 정말로 감사드리겠습니다...

아, 그리고 띄어쓰기가 있는 경로가 있을시, cmd에선 예를들어 del "c:\사용자 파일\삭제할 파일.txt" 이런 명령어를 친다면,

위 코드에서 어떻게 정상적으로 돌아가게 해야될지도 궁금합니다...

snowall의 이미지

escape character문제같은데요. \를 \\처럼 두개 써보세요.

피할 수 있을때 즐겨라! http://melotopia.net/b

quarterhorse의 이미지

정말 감사드립니다. 확인이 늦어서 죄송합니다....

좋은주말 되세요!