C 언어 기초 질문입니다

#include <stdio.h>
#include <windows.h>

int main(int argc, char **argv){
	
	system("echo %s", argv[0]);
	
    return 0;
}

위에 코드를 컴파일하면

[Error] too many arguments to function 'int system(const char*)'

이런 식으로 에러가 뜹니다.

인자의 개수가 많아서 에러가 뜨는 건 알고 있지만 막상 해결을 못하겠네요.
어떻게 해야 할까요?

system() 함수를 printf() 호출하듯 하셨지만 에러에서 확인하셨듯 systme()은 문자열 포인터 하나만 받지요. 두 문자열을 미리 하나의 문자열로 합쳐줘서 넘겨줄 필요가 있겠네요.
문자열을 이어붙이는 함수인 strcat() 이나 printf와 비슷하게 사용 가능한 sprintf() 함수를 검색해보시면 도움이 될거라 생각합니다.

3 Likes