[問題] 程式裡怎麼讀 cat 的內容?

看板C_and_CPP作者 (三腳貓的把戲)時間11年前 (2014/05/27 15:03), 編輯推噓7(705)
留言12則, 9人參與, 最新討論串1/1
開發平台(Platform): Linux 問題(Question): 我想用偵測電源的腳位,用 Command line 下指令 cat /sys/class/gpio/gpio112/value 大致上是回傳 0 或 1,但我不知道要怎麼直接在程式裡讀到回傳值, 目前我是先執行 system call 把結果輸出到檔案, system("cat /sys/class/gpio/gpio112/value > acc.txt"); 然後再去讀這個檔案的內容,感覺有點繞路... 請問有什麼方式可以讓我直接在程式裡可以拿到 cat 的輸出嗎? -- I want you to join my army. === http://0rz.tw/V9OIa === -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.34.7.179 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1401174223.A.7B1.html

05/27 15:09, , 1F
fopen fscanf
05/27 15:09, 1F

05/27 15:31, , 2F
直接用 open 應該也可以試試
05/27 15:31, 2F

05/27 15:44, , 3F
收到!我試試,謝謝兩位大大!!
05/27 15:44, 3F

05/27 15:59, , 4F
這問法讓我以為是要取得pipe的輸出
05/27 15:59, 4F

05/27 17:29, , 5F
希望原 po 不會寫成 fopen("cat /sys... > acc.txt"); XD
05/27 17:29, 5F

05/27 18:19, , 6F
之前在開檔的時候沒做 rewind() 所以一下就讀不到了(遮臉
05/27 18:19, 6F

05/27 19:22, , 7F
我也差點以為是pipe 不過其實popen也可以啦 效果一樣
05/27 19:22, 7F

05/27 20:04, , 8F
感覺這篇的原PO陷入奇怪的盲點xd
05/27 20:04, 8F

05/28 02:39, , 9F
接pipe fork dup2到stdout 最後exec
05/28 02:39, 9F

05/29 09:01, , 10F
popen
05/29 09:01, 10F

05/29 15:13, , 11F
如果要取得pipe結果又想跨平台,可以用system
05/29 15:13, 11F

05/29 15:15, , 12F
在flush前處理stdout buffer
05/29 15:15, 12F
文章代碼(AID): #1JX3ZFUn (C_and_CPP)