programing

적절한 인수를 사용하여 C에서 execl()을 호출하는 방법은 무엇입니까?

jooyons 2023. 9. 27. 17:56
반응형

적절한 인수를 사용하여 C에서 execl()을 호출하는 방법은 무엇입니까?

셸에 입력하면 vlc(비디오를 재생하는 프로그램)가 있습니다.

/home/vlc "/home/내 영화/내가 보고 싶은 영화 mkv"

그것은 영화를 다시 보여줍니다.

그러나 다음 프로그램을 실행하면 다음과 같습니다.

#include <unistd.h>

int main(void) {

  execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);

  return 0;
}

vlc는 열리지만 아무것도 재생하지 않습니다.어떻게 해결해야 합니까?

내가 시도한 것들:

내 생각엔

execl("/home/vlc", "/home/my movies/the movie i want to see.mkv",NULL);

셸에 입력하는 것과 맞먹었습니다.

/home/vlc /home/my movies/the movie i want to see.mkv

그게 안되서 노력해봤어요

 execl("/home/vlc", "\"/home/my movies/the movie i want to see.mkv\"",NULL);

vlc가 열리지만 역시 재생되지 않습니다.

끝에 NULL을 쓰는 대신에 0, (char*) 0, 1 .......을 시도했습니다. 도움이 되지 않습니다.도와주세요!!

execl("/home/vlc", 
  "/home/vlc", "/home/my movies/the movie i want to see.mkv", 
  (char*) NULL);

포함된 모든 인수를 지정해야 합니다.argv[0]실행 파일에서 가져온 것이 아닙니다.

결승전도 꼭 치르세요.NULL에 캐스팅되다char*.

자세한 내용은 여기에 있습니다: http://pubs.opengroup.org/onlinepubs/9699919799/functions/exec.html

VLC 재생 프로세스를 실행하고 애플리케이션 프로세스가 완료되었을 때만 제어 기능을 다시 제공해야 하는 경우에는 다음과 같은 방법을 사용할 수 있습니다.

system("The same thing you type into console");

언급URL : https://stackoverflow.com/questions/12596839/how-to-call-execl-in-c-with-the-proper-arguments

반응형