生活 + 筆記

10.14.2010

c sprintf, sscanf, execl, pipe


sscanf(argv[1], "%d", &file_descriptor);
讀取 argv 陣列裡的數並存入 &file_descriptor

sprintf(buffer, "%d", file_pipes[0]);
將 file_pipes[0] 裡的值放到 buffer 陣列裡

execl("pipe", "pipe", buffer, (char *)0);
第一個參數 pipe 為要啟動的程式名稱
第二個參數 argv[0] 程式名稱
第三個參數 argv[1] 用來讀取的檔案描述子
(char *)0 代表參數結尾

#include
int pipe(int file_descriptor[2])
pipe 會得到兩個 file descriptor (整數陣列)
pipe 會填入兩個新的 file descriptor 並回傳 0 (正確)
任何寫到 file_descriptor[1] 的資料可從 file_descriptor[0] 讀回,以先進先出的機制

沒有留言:

張貼留言