線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:5760
推到 Plurk!
推到 Facebook!

要開啟的檔名是變數

答題得分者是:ikk
piggyafang
一般會員


發表:2
回覆:2
積分:0
註冊:2008-10-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-06-05 11:44:16 IP:140.120.xxx.xxx 訂閱
各位版友好

有一個問題想請問

我現在想對某個資料夾下的檔案作處理

每處理完一個檔案會有一個結果 然後按順序放進之前宣告的陣列中

我知道一個一個開是

FILE *fp;

fp=fopen("input1.txt", "r")

如果我要對input1~input1000總共1000個檔案作處理

這時候檔案的名稱是變數

請問要怎麼做呢?

我有在網路上找了一下 似乎可以用sprintf做

大概像:

sprintf(filename,"input%d.txt", i); fopen(filename,"r");

這樣寫的意思是不是宣告 char filename的字串 (那filename要設定維度嗎?)

先令i=1 ; i<=1000 將filename裡的字變成input1.txt、input2.txt...

然後再用fopen(filename) 去開嗎?

那這樣會有個數可以記開到哪一個檔案嗎?

因為每開一個檔案都會有一個結果的字串,結果字串要存在 char result[1000][]中

ex:讓result[1]是開input1.txt之後結果的字串

讓result[2]是開input2.txt之後結果的字串

不好意思 這方面真的不熟

能否舉個比較具體的例子呢?

謝謝回答了~
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-06-09 09:32:37 IP:163.28.xxx.xxx 訂閱

其中的i 就可知, 開到哪個檔...

[code cpp]
#define MAX_STRING_LEN 512
FILE *fp;
int i;


char result[1000][MAX_STRING_LEN];

for(i=1;i<=1000;i )
{
sprintf(filename,"input%d.txt", i);
fp = fopen(filename,"r");
// read from file, and put to result[i]
fclose(fp);
}

[/code]
------
FPGA驗證, FPGA開發平台, http://smims.com
piggyafang
一般會員


發表:2
回覆:2
積分:0
註冊:2008-10-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-06-09 22:30:34 IP:122.118.xxx.xxx 訂閱
非常謝謝ikk大的回答~
我已經知道該怎麼做了
系統時間:2024-04-19 22:46:41
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!