看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《edoichi (都營大江戶線)》之銘言: 老實說我覺得你好像弄得太複雜了@_@" 就回到寫個.bat的方式來處理你的問題吧.... 首先, 把你原來的程式在fopen寫結果的地方.... 從 fopen("output.csv", "w"); 改成 fopen("output.csv", "a"); 並且確保第一次跑的時候, output.csv 不存在.... (雖然這一點可以在.bat檔裡直接處理完成) 然後, 假設你build出來的執行檔叫 MyProg.exe 開啟記事本, 內容如下==括起來的部份(不含==) == rem Delete the old result. del output.csv rem Start to run 30 times. MyProg.exe MyProg.exe MyProg.exe MyProg.exe MyProg.exe rem Finish! PAUSE == 我懶只打了5次, 請自行把其中的 MyProg.exe 打成30次.... 然後記事本另存新檔叫 run30.bat 與 MyProg.exe 放在一起.... (請注意另存新檔時下面的存檔類型, 不要存了個 run30.bat.txt 出來) 然後, 如果你會用 命令提示字元/console 模式, 就用.... 不然, 用檔案總管找到 run30.bat 點兩下去執行也可以.... //////// 如果你想用C寫, 另外寫一個叫 run30.c 的程式.... == #include <stdlib.h> int main(void) { system("del output.csv"); for(int i=0; i<30; ++i) { system("MyProg.exe"); } system("PAUSE"); return 0; } == 假定它build出來成為 run30.exe , 一樣和 MyProg.exe 放一起.... 然後去執行 run30.exe , 也可以達到和.bat那個差不多的功能.... //////// 如果你會用命令提示字元模式, 那只要下以下指令.... == del output.csv for /L %i in (1,1,30) do MyProg.exe == 其實這寫在 run30.bat 或是 run30.c 也可以啦, 只是我剛忘了XD //////// 補充, 以上的幾個方法, 都需要搭配 MyProg.exe 裡的 fopen() 要改用 "a" mode 來開啟 "output.csv" -- 以上....Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.174.98 ※ 編輯: VictorTom 來自: 220.132.174.98 (05/05 00:45)
edoichi:真的是複雜化了沒錯,好神奇,奏效了說 ^^ 05/05 00:47
※ 編輯: VictorTom 來自: 220.132.174.98 (05/05 00:48)
edoichi:前人的論文可能是手動跑的,csv太好用了 XDDDDD 05/05 00:50
edoichi:若是早知道這個方法,以前的人可以省超多時間的 05/05 00:50
VictorTom:我改用csv是因為看起來你不是真的寫xls格式, 用.csv比較 05/05 00:50
VictorTom:看的出來是純文字(雖然不是,分隔XD)而且預設一樣可以點 05/05 00:51
VictorTom:兩下用excel來開啟:) 05/05 00:51
edoichi:網拍的輸出格式也是.csv檔 XD 其實剛試驗發現.xls也行 05/05 01:05
edoichi:不過csv檔比較省空間 05/05 01:05
edoichi:兩行的那個方法太強大了 >< 05/05 01:59
※ 編輯: VictorTom 來自: 220.134.41.4 (05/05 13:26)
flashphp:推簡單實用,另也想請問system與ShellExecute的差異~ 05/05 17:41
flashphp:總覺得好像都是用來執行程式的, 但shell好像又不只這樣~ 05/05 17:41
VictorTom:概略分: system是stdlib的API, ShellExecute是Win32API 05/05 18:11
VictorTom:system似乎用空白後的參數傳不到, ShellExecute可下參數 05/05 18:12
VictorTom:system會block等該執行程式, ShellExecute叫起該程式就 05/05 18:13
VictorTom:回你的程式繼續跑了; 看了一下人家的討論使用上的差異大 05/05 18:13
VictorTom:概是這樣, 細節的話就不了解了....@_@" 05/05 18:14
VictorTom:話說ShellExecute要給路徑與檔名, 不知道能不能直接使用 05/05 18:15
VictorTom:Shell指令像copy, dir之類的....@_@" 05/05 18:16
flashphp:謝v大, 最後二句不太了解, 是指傳copy或dir給shellexecut 05/06 08:57
flashphp:去執行嗎, 這我等等可以試, 另外我找到用shell開IE的方法 05/06 08:59
flashphp:->ShellExecute(NULL,"open" "http://www.google.com", 05/06 08:59
flashphp:, NULL, NULL, SW_SHOWNORMAL); 05/06 09:00