system("cat /etc/passwd | grep home")
이런 결과를 fprintf를 사용해서
fprintf(f,"%s",system("cat /etc/passwd | grep home"))
이런식으로 사용하니 null 값이 들어가네요[/code]
파일에 저장 하는 방법이 있을까요?
좀 구린 방법이긴 합니다만...
system("cat /etc/passwd | grep home > /tmp/xxx") 과 같이 해서 결과를 /tmp/xxx 에 저장한 뒤, program 에서 /tmp/xxx 를 열어 내용을 보면 되겠지요.
그게 정 싫으시다면...
system 대신 pipe 생성하여 fork 한 뒤 exec를 사용하여 직접 stdout 을 parent 의 특정 fd 로 보내버리는 방법도...
system 반환값이 정수형인걸로 알고 있습니다. 그냥 pipe를 만들거나 파일로 결과값을 리다이렉트 해서 처리하는 수 밖에 없을듯 합니다.
stdout 을 close 하고 새로 파일을 open 한 다음에 system 을 호출하면 됩니다.
-- 오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~ 나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
popen() 이란 편리한 함수가 있죠.. :-) ---- Let's shut up and code.
---- Let's shut up and code.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
임시 file 을 사용하면 되지 않을까요?
좀 구린 방법이긴 합니다만...
system("cat /etc/passwd | grep home > /tmp/xxx")
과 같이 해서 결과를 /tmp/xxx 에 저장한 뒤, program 에서 /tmp/xxx 를 열어 내용을 보면 되겠지요.
그게 정 싫으시다면...
system 대신 pipe 생성하여 fork 한 뒤 exec를 사용하여 직접 stdout 을 parent 의 특정 fd 로 보내버리는 방법도...
system 반환값이
system 반환값이 정수형인걸로 알고 있습니다.
그냥 pipe를 만들거나 파일로 결과값을 리다이렉트 해서 처리하는 수 밖에 없을듯 합니다.
stdout 을 close 하고
stdout 을 close 하고 새로 파일을 open 한 다음에 system 을 호출하면 됩니다.
--
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
popen() 이란 편리한
popen() 이란 편리한 함수가 있죠.. :-)
----
Let's shut up and code.
----
Let's shut up and code.
댓글 달기