2009/04/14

[Programming] system 正確的抓取 return value

錯誤的抓法

#include <stdlib.h>

int main (void)
{
int ret;

ret = system("error: command not found");

return ret;
}


看一下 system 是怎麼寫的,就可以知道為什麼 ret 不一定是你想要的答案了。
這是正確的做法:
#define _GNU_SOURCE
#include <stdlib.h>

int main (void)
{
int ret;

ret = system("error: command not found");

if (WIFEXITED(ret))
return WEXITSTATUS(ret);
else
return -1;
}


// 以上不是我寫的,是公司裡的 eric 學長教的,看 code 才是基本功。
張貼留言

[Windows] 好用的小工具: AutoHotKey

做為一個 Linux 的愛好者,轉移到 Windows 上面的時候,往往難以適應 Windows 調整快捷鍵的方式,所以 google 了一下,結果發現很多人愛用的 "Auto Hot key"。不多說,就來給一個範例說明如何使用 Auto Hot key 來...