一般使用popen去下command並且去讀回傳回來的值時,
會使用fgets來拿取資料,
但有時fgets拿回來時是null,
可是直接在linux下command時卻是有值,
這時要使用“2>&1”放在command後面,
強制印出訊息。
#define command "ls 2>&1"
#define MAX_BUFFER 256
char buffer[MAX_BUFFER];
sprintf(cmd, "%s", command);
FILE *fd = popen(cmd, "r");
while((fgets(buffer, MAX_BUFFER, fd)) != NULL) {
print("%s\n", buffer);
}
沒有留言:
張貼留言