作者tropical72 (藍影)
看板C_and_CPP
標題Re: [問題] 有關數據print出到data檔的問題
時間Wed May 12 23:31:53 2010
不知道這種方式是不是你能接受的..
// ==================================
// 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