pro c 에서 system 함수 사용 0 2 2,105

by 김홍관 [2006.11.10 17:04:05]


pro c 에서 system 함수를 사용할려고 합니다.

 

<첫번째>

turn1 = 'printf ''user '||id||' '||pass||' \n''';
turn2 = turn1||'''get '||get_path||file_name||' '||des_path||file_name||' \n''';
turn3 = turn2||'''bye''|ftp -i -n '||ip_addr||'';

 

system(turn3);

 

<두번째>

turn1 = 'cd '||des_path||' \n';

system(turn1);

 

<세번째>

turn2 := 'cp shell.c shell_khk.c \n';

system(turn2);

 

첫번째를 실행해서는 shell.c 라는 파일을 des_path에 가지고 왔습니다.

그런데, 두번째 와 세번째를 실행하면 shell.c가 shell_khk.c로 카피가 되지 않습니다.

 

무엇을 잘못 쓴건지..

 

그리고 첫번재의 printf는 왜 붙인건지 중간의 '' 나  ' 는 무엇인지

 

제가 한게 아니라 이해를 못하겠네요

 

고수님들의 도움을 기다립니다.

by 몽 [2006.11.10 00:00:00]
두번째, 세번째를 별도의 system함수로 실행시켜서 그렇습니다. system함수를 사용하면 별도의 쉘에서 실행됩니다. 두번째에서 cd 명령을 사용해도 세번째에서는 cd 명령이 영향을 안받습니다. 따라서 shell.c 파일이 있는 디렉토리로 이동을 못하게 되고.. 자연히 파일이 없으므로 카피가 실패하는것입니다.
첫번째에서 printf의 역할은 ftp 연결을 위한 아이디와 암호를 찍어주기 위함입니다. 자세한 내용은 man ftp하셔서 관련 옵션을 살펴보시기 바랍니다.

by 김홍관 [2006.11.13 00:00:00]
별도의 system함수로 실행시켜서 그렇다는게 system명령을 날릴때마다 초기상태에서 실행된다는건가요?
그렇다면 첫번째, 두번째, 세번째를 따로 실행하지 않고 한번에 붙여서 한방에 날려야 한다는 말씀인가요?
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입