看板 C_and_CPP 關於我們 聯絡資訊
不知道這種方式是不是你能接受的.. // ================================== // filename: fp_sample.cpp // date : 2010.5.12 // author : edison.shih. // ================================== #include <stdio.h> #include <stdlib.h> #define FILE_CNT 10 #define BUF_LEN 200 int main(int argc, char **argv) { int i; FILE *fp[FILE_CNT], *fpc=NULL; char filename[BUF_LEN]; // open the all file pointer. for(i=0; i<FILE_CNT; i++) { sprintf(filename, "sample-%d.dat", i); fp[i] = fopen(filename, "wb"); } // the method to write to file. for(i=0; i<FILE_CNT*100; i++){ fpc = fp[i%FILE_CNT]; fprintf(fpc, "%d\r\n", i); } // close the all file pointer. for(i=0; i<FILE_CNT; i++){ fclose(fp[i]); } return 0; } //========================================================= 當然有壞處, 據我所知, 開檔有個一定的上限 ※ 引述《dadada123 (祐祐)》之銘言: : 這是我的問題所在--->ofstream ofile("sample.dat"); : 我寫了一個產生數據的程式 : 但是跑出來的數據需要經過分割處理 : 例如:我一共跑出10組數據,我要分割成sample-1.dat : sample-2.dat : sample-3.dat : . : . : . : sample-10.dat : 我要如何撰寫我的程式碼,才能讓我一次把資料分割完畢 : 因為我發現ofstream ofile("sample.dat")好像不能使用矩陣,或者參數 : 只要是在" "裡頭的都會直接變成檔名 = =|| : 不知道有沒有方法可以解決這個問題,我不想要一次RUN出來之後再一個一個手動分割 : 非常緊急~~希望能C語言強者可以幫忙解答,真的很急(再次強調) : <(ˍ"ˍ)> 萬事拜託了 -- 我期待 我等待 肩狹骨上的翅膀早些長出來 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.194.160
tropical72:剛才注意到原po是C++,po 錯 sorry了.. 05/12 23:36
james732:預設 Linux 開檔是 1024 個,基本上也夠用了 XDDD 05/12 23:37
james732:(Windows最大可以開幾個?我倒是不清楚了) 05/12 23:37
james732:其實也說不上錯不錯 這個程式在C++完全可以用的 XD 05/12 23:38
loveme00835:分的好均勻~如果是我直接前後切10塊了 @@ 05/12 23:54
tropical72:請問 l 大-分得均勻是?前後切的意思是?(中文不好,見諒) 05/13 00:35
LPH66:你的程式 「前後切」 05/13 00:46
LPH66:F1 F2 F3 ... F10 F1 F2 F3 ... F10 05/13 00:46
LPH66:1 2 3 ... 10 1 101 201 ... 901 05/13 00:46
LPH66:11 12 13 ... 20 2 102 202 ... 902 05/13 00:46
LPH66:... ... ... ... ... ... ... ... 05/13 00:46
LPH66:991 992 993 ... 1000 100 200 300 ... 1000 05/13 00:46
loveme00835:LPH66 大大正解! > < 05/13 00:56
loveme00835:因為有些資料會有局部的關連性, 所以直接切成好幾份 05/13 00:57
loveme00835:不做處理, 對有些結果來講會非常糟 05/13 00:57
loveme00835:感覺是我中文比較不好, 拍謝^^" 05/13 01:16
tropical72:謝謝 LPH66 及 loveme00835 大大解說 05/13 01:51
loveme00835:不是大大 QQ 05/13 02:31