FreeBSD와 C/C++를 사용하여 로봇을 제어하고 있습니다. 여기에 문제가 있습니다 :c/C++에서 여러 popen 호출하기
나는 쓰기 모드에서 로봇을 제어하기 위해 컴퓨터에 명령을 내리기 위해 popen()
을 사용합니다. 이제 명령의 출력을 얻고 싶습니다. 그래서 popen()
을 읽는 모드로 만듭니다.
사용할 수 있습니까?
부모 프로세스와 하위 프로세스를 만들어야합니까?
FreeBSD와 C/C++를 사용하여 로봇을 제어하고 있습니다. 여기에 문제가 있습니다 :c/C++에서 여러 popen 호출하기
나는 쓰기 모드에서 로봇을 제어하기 위해 컴퓨터에 명령을 내리기 위해 popen()
을 사용합니다. 이제 명령의 출력을 얻고 싶습니다. 그래서 popen()
을 읽는 모드로 만듭니다.
사용할 수 있습니까?
부모 프로세스와 하위 프로세스를 만들어야합니까?
이제 명령의 출력을 얻고 싶습니다. 따라서popen()을 작성하여 읽는 모드에서 가져 오십시오.
아니요, popen(3)
을 사용하여 추가 스트림을 만드는 것은 작동하지 않습니다. FreeBSD를 사용하고 있기 때문에 FreeBSD 파이프는 양방향이므로 popen(3)
은 r+
인수을 허용합니다. the manual에서 : popen()
이후
이제 양방향 파이프를 이용하여 구현되며, 유형 인수 요청할 수 양방향 데이터는 국지적 타입 인자이어야 널 종료 문자열 R '에 포인터 흐름 읽기 'w' 쓰기 또는 'r +'읽기 및 쓰기.
FILE *
의 출력을 fgets(3)
과 같이 읽는 것만으로도 충분할 것입니다.