[問題] C語言 檔案處理問題

看板C_and_CPP (C/C++)作者 (Joy)時間12年前 (2013/11/26 15:59), 編輯推噓2(2013)
留言15則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Dev-C++ 4.9.9.2 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 不好意思,這裡有關於C語言檔案處理的問題想請教各位大大 以下是部分程式碼 int main(void){ ... ... system("filter.exe N AllEventSet.txt N.txt"); //執行外部檔案 FILE *input = fopen("N.txt","r"); ... ... ...} 為主程式 void period (index *ptr){ FILE *fPeriod; fPeriod = fopen("NP.txt","w"); //輸出最後結果的檔案名稱 ... ... ...} 為副程式 AllEventSet.txt這個檔案裡有0~259個數字,全部的數字都需要跑一次 N、N.txt、NP.txt裡的N都是代表要跑的數字 想請問各位大大,有沒有什麼方法可以讓N用迴圈讓他從0~259各跑一次 因為目前都是用手動更改,覺得有點費時 我有去看過之前幾篇文章所說的sprintf的方法,可是還是看不懂 希望各位大大能夠幫忙一下 不知道上面的描述各位大大看不看得懂,因為表達能力有點不好... 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.110.112.84

11/26 16:09, , 1F
你再去研究一下 sprintf 吧, 那個算是標準解法
11/26 16:09, 1F

11/26 16:09, , 2F
給一個應該有幫助的提示: "N.txt" 其實就是個字串
11/26 16:09, 2F

11/26 16:10, , 3F
你需要的就是產生檔名字串這個動作
11/26 16:10, 3F

11/26 21:16, , 4F
複製貼上9次就好了 改258個數字沒你想像那麼久的 改吧!
11/26 21:16, 4F

11/26 21:27, , 5F
"NP.txt" N改成你要的字串不就好了,就是sprintf
11/26 21:27, 5F

11/26 21:30, , 6F
像這樣,sprintf(s,"%dP.txt",i);
11/26 21:30, 6F
我有用sprintf解決了產生檔名字串的問題 想再問一個問題就是,目前程式碼像這樣 sprintf(str,"%s %d %s %d.txt","filter.exe",num,"AllEventSet.txt",num); system(str); 執行完system指令後,想要開啟 %d.txt 這個檔案跑主要程式 開檔指令如下 FILE *input = fopen("","r"); 想問各位大大,要如何把 %d.txt放進第一個雙引號內 ※ 編輯: wsz781004 來自: 120.110.112.84 (11/27 12:49)

11/27 13:15, , 7F
再看一下我二樓推的: 那個地方需要一個字串
11/27 13:15, 7F

11/27 13:15, , 8F
所以把你存放你產生出來的字串的地方放在那裡就行了
11/27 13:15, 8F

11/27 13:16, , 9F
我似乎發覺好像新手對 fopen 的第一參數有個不知哪來的印象
11/27 13:16, 9F

11/27 13:16, , 10F
好像那裡只能放字串常數的感覺...
11/27 13:16, 10F

11/27 13:18, , 11F
在這版上看過太多為了這個參數上來發問然後才被大家告知說
11/27 13:18, 11F

11/27 13:18, , 12F
sprintf 的功能可以用來解決這個問題...
11/27 13:18, 12F

11/27 15:44, , 13F
收到原 PO 的信, 看來原 PO 好像哪裡還沒開竅
11/27 15:44, 13F

11/27 15:45, , 14F
想一想為什麼 system(str); 辦到了前半段 後半段就會寫了
11/27 15:45, 14F

11/27 15:59, , 15F
還是有點搞不懂,不過還是謝謝你
11/27 15:59, 15F
文章代碼(AID): #1Ib5J-Wx (C_and_CPP)
文章代碼(AID): #1Ib5J-Wx (C_and_CPP)