2013-01-03 5 views
0

코드를 실행할 때 응용 프로그램이있는 곳이 아닌 내 홈 디렉토리에서 작업을 거부합니다.C/Objective-C에서 cd ​​~를 사용하면 cd가 제대로되지 않습니다.

파일이 올바른 위치에 있지 않아 프로그램의 나머지 부분이 제대로 실행되지 않습니다.

+2

확인해야합니다 당신은? – squiguy

+0

좋은 아이디어 인 것 같습니다. 나는 그러한 선택을 알지 못했다. 나는 이것에 조금 새로운 것이다. –

+1

나는 @squiguy와 함께있다. 가장 좋은 해결책은'libcurl'과'libz'에 연결하는 것입니다. – trojanfoe

답변

3

system() 셸을 시작하여 명령을 수행 한 다음 셸을 종료합니다.

따라서 cd이 수행되고 쉘이 끝나면 잊어 버리게됩니다. 스크립트에서

장소 세 가지 명령과 system() 호출을 실행합니다

그래서 당신의 특정 문제를 해결합니다. 다만`대신`system`의 chdir`을 사용하지 왜

+0

그래, CD에 의존하지 말고이 코드를 다시 작성해 주셔서 감사합니다. –

+1

@MarkRobinson 예. 또는 하나의 쉘'system ("cd; curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip> tmp.zip")에서 수행하십시오. – nos

0

또한 BTW 다음

system("curl https://www.dropbox.com/s/5zbfuog50rlztil/Archive.zip > $HOME/tmp.zip"); 
system("unzip $HOME/tmp.zip -d $HOME/"); 

을 수행 할 수 있습니다, 당신은 오류