保存のスピード

[戻る]
GG 2006/12/14(木) 19:49:29
いつもお世話になっています、GGです。

テキスト形式で保存ですが、その保存のスピードが遅いです、
例:
for(int j=0; j<t_IDtotal; j++){
 str_1.Format(_T(",%d,"),    j);
 str_2.Format(_T("%d,"),    mp_TextSct[j].Bcode);
 str_3.Format(_T("%d,"),    mp_TextSct[j].Laye);
…
 str_11.Format(_T("%d,"),    mp_TextSct[j].X);

  buf="T0011" +str_1+str_2+str_3+str_4+str_5+str_6+
       +str_7+str_8+str_9+str_10+str_11;

  fputs(buf, fp9); 
}

保存の時間がかかりました、やく4分ぐらいですが、
t_IDtotal=69049

一番時間かかるところは、buf=…のところでしょうか。

その以外の方法があるのでしょうか。

環境:.Net MFC使用、 Win2000

以上、よろしくお願いします。

Kerry 2006/12/14(木) 20:06:22
str.Format(_T("T0011,%d,%d,%d, ... ,%d,"),
    j,
    mp_TextSct[j].Bcode,
    mp_TextSct[j].Laye,
    ...
    mp_TextSct[j].X);
_fputts(str, fp9);

もしくは

_ftprintf(fp9, _T("T0011,%d,%d,%d, ... ,%d,"),
    j,
    mp_TextSct[j].Bcode,
    mp_TextSct[j].Laye,
    ...
    mp_TextSct[j].X);

GG 2006/12/15(金) 08:40:35
Kerryさん、
ご回答ありがとう。

>str.Format(_T("T0011,%d,%d,%d, ... ,%d,"),
>    j,
>    mp_TextSct[j].Bcode,
>    mp_TextSct[j].Laye,
>    ...
>    mp_TextSct[j].X);
>_fputts(str, fp9);

うまくできました。約20秒でした。

ありがとうございました。

GG 2006/12/15(金) 08:41:55
[[解決]]
>解決時は質問者本人がここをチェックしてください。

チェックが忘れました。

古いスレッドには追加発言できません。