C/C++の宿題を片付けます 87代目 at TECH
[2ch|▼Menu]
36:デフォルトの名無しさん
07/05/14 23:55:28
>>27
とりあえずC言語でやってみた。後でC++に書き直してみる。
IO回数を減らせばもっと早くなる!(fwriteの回数を減らすだけ)

#include<stdio.h>
int main(void){
    char hexstr[256][3];
    char *fname_in="in.dat", *fname_out="out.dat";
    FILE *fp_in, *fp_out;
    unsigned char buf[32*1024];
    int i, read_size, lf_len;

    for(i=0;i<256;i++) sprintf(hexstr[i], "%02X", i);

    fp_in=fopen(fname_in, "rb");
    fp_out=fopen(fname_out, "w");
    if(fp_in==NULL || fp_out==NULL) return 1;
    for(;;){
        read_size=fread(buf, 1, sizeof(buf), fp_in);
        if(read_size<=0) break;
        for(i=0;i<read_size;i++){
            fwrite(hexstr[buf[i]], 2, 1, fp_out);
            if((i+1)%32==0)
                fwrite("\n", 1, 1, fp_out);
        }
    }
    fclose(fp_in);
    fclose(fp_out);

    return 0;
}


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4177日前に更新/299 KB
担当:undef