The %popen() function creates a pipe between the calling process and the command to be executed.
pointer = (char*)%popen(command, type)
pointer | Stream pointer that directs a write to the standard input of the command if the I/O mode is w, and reads from the standard output of the command if the type is r. | |
command | Shell command line. | |
type | I/O mode. | |
r | Reading | |
w | Writing |
A stream opened by %popen() must be closed by %pclose(). The stream is closed automatically at FlashBASIC program termination.
include dm,bp,includes sysid.inc cfunction unix.builtin char buffer[128] if system(38)<sys$imp> = sys$win then cmd = "dir" end else cmd = "ls -l" end ptr=(char*)%popen(cmd,"r") if ptr=0 then crt "error" ; stop loop n=(char*)%fgets(buffer,128,(char*)ptr) while n # 0 do print field(buffer,char(0),1) repeat %pclose((char*)ptr)
This example executes a UNIX command, capturing the result.