開檔讀資料  請務必指定 mode

        FILE *fp ,*fp2;
        char buf;
        fp = (FILE*)fopen( argv[1] , "r" );
        fp2 = (FILE*)fopen( argv[2] , "w" );

        while( !feof( fp ) ){
            fread( &buf , 1, 1 , fp );
            fwrite( &buf , 1, 1 ,fp2 );
        }
        fclose( fp );
        fclose( fp2);

    以上程式  若是讀圖檔(binary)  在 unix 下可以正常地複製一張圖出來
    但在 Windows XP with SP2 上  無論是 Dev-C++ 還是 VC 6 都會出錯

    修正的方式:

        FILE *fp ,*fp2;
        char buf;
        fp = (FILE*)fopen( argv[1] , "rb" );
        fp2 = (FILE*)fopen( argv[2] , "wb" );

        while( !feof( fp ) ){
            fread( &buf , 1, 1 , fp );
            fwrite( &buf , 1, 1 ,fp2 );
        }
        fclose( fp );
        fclose( fp2);

    結論:

        不要偷懶  :p


全站熱搜

changyy 發表在 痞客邦 留言(0) 人氣()