看板 C_and_CPP 關於我們 聯絡資訊
看來觀念錯得很離譜@@ 當我用 ./a.out -k 5 < inputfile 時 , 該目錄底下會生成一個檔案裡面是正確的結果 但是用 cat inputfile | ./a.out -k 5 目錄底下還是會有正確結果出來 但是螢幕上看不到任何輸出,用cat不是可以將最後的輸出印在螢幕上嗎? 以及 cat inputfile | ./a.out -k 5 > result 這樣也是會有檔案生成 (原本的output.txt 和 result) result這個檔案會完全是空的 螢幕上也是沒有印出結果 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.175.132.36
shadow0326:按照你貼的code, 本來就沒有stdout啊 @.@ 05/10 14:18
lions0164:可是用cat 指令 不是可以印出output file嗎? 05/10 14:19
lions0164:還是我搞錯了呢@@ 05/10 14:20
※ 編輯: lions0164 來自: 1.175.132.36 (05/10 14:23)
shadow0326:cat是印出inputfile,然後用pipeline傳給./a.out 05/10 14:31
shadow0326:最後會印出的東西應該是a.out的stdout 05/10 14:31
lions0164:輸入第二行指令後是完全沒有任何output出現在螢幕上 05/10 14:32
lions0164:然後第三行的指令也是 生成的result是空的 05/10 14:33
lions0164:這樣到底是不是正常的結果呀 有點混亂了@@ 05/10 14:33
shadow0326:所以我就說你的程式根本沒有stdout呀 05/10 14:34
shadow0326:你隨便在程式裡面加一行printf helloworld 就會有了 05/10 14:34
lions0164:那第三個指令 > result 是把結果輸出到result裡面 05/10 14:36
lions0164:為什麼result會是空的呢? 05/10 14:36
shadow0326:> result也只是把a.out的stdout寫入result 05/10 14:38
lions0164:是因為 > 是把stdout的輸出改為result 05/10 14:38
shadow0326:如果a.out本來就沒有stdout,當然就什麼都不會寫進去 05/10 14:38
lions0164:但是程式沒有stdout所以是空的? 05/10 14:38
lions0164:剛剛查了一下 原來是這樣 謝謝@@ 05/10 14:39
※ 編輯: lions0164 來自: 1.175.132.36 (05/10 14:40)