• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            yeqing

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              1 Posts :: 14 Stories :: 10 Comments :: 0 Trackbacks

            第一:讀取為unsigned char*的數(shù)組然后寫入文件

            #include <cstdlib>
            #include <iostream>
            #include <stdio.h>
            #include <fstream>??
            #include <sys/types.h>
            #include <sys/stat.h>
            #include <unistd.h>

            using namespace std;

            int main(int argc, char *argv[])
            {
            ??? if(argc<3)
            ??? {
            ??????? cout<<"參數(shù)錯誤"<<endl;
            ??????? cout<<"<CMD> <FileNameSrc> <FileNameDis>"<<endl;
            ??????? exit(-1);
            ??? }
            ???
            ??int nFileSize=0;
            //讀出二進(jìn)制文件的大小nFileSize
            ??struct stat fFileMesg;
            ??stat(argv[1],&fFileMesg);
            ??cout<<fFileMesg.st_size<<endl;
            ??nFileSize=fFileMesg.st_size;
            ?
            //用二進(jìn)制格式打開讀寫文件?
            ??ofstream ifs(argv[2],ios::binary);
            ??ifstream ofs(argv[1],ios::binary);

            ? ?if(!ifs)
            ??? {
            ???? ??cout<<"打開讀取文件["<<argv[1]<<"]失敗"<<endl;
            ???? ??system("PAUSE");
            ???? ??return -1;
            ???? }

            ??if(!ofs)
            ??? {
            ???? ??cout<<"打開寫入文件["<<argv[2]<<"]失敗"<<endl;
            ???? ??system("PAUSE");
            ???? ??return -1;
            ??? }

            //動態(tài)申請緩沖區(qū),緩沖區(qū)大小為文件大小
            ??? unsigned char *NewBuffer=new unsigned char[nFileSize];
            //把二進(jìn)制文件流讀寫到緩沖區(qū)中
            ??? ofs.read((char *)NewBuffer, sizeof(char)*nFileSize);
            //把緩沖區(qū)寫入到文件中
            ??? ifs.write((char *)NewBuffer, sizeof(char)*nFileSize);

            ??? system("PAUSE");
            //釋放緩沖區(qū)和關(guān)閉文件流
            ??? ifs.close();
            ??? ofs.close();
            ??? delete NewBuffer;
            ??? return EXIT_SUCCESS;
            }


            第二:使用強制轉(zhuǎn)換指針?biāo)膫€直接讀取

            #include <cstdlib>
            #include <iostream>
            #include <stdio.h>
            #include <fstream>??
            #include <sys/types.h>
            #include <sys/stat.h>
            #include <unistd.h>

            using namespace std;

            int main(int argc, char *argv[])
            {
            ??? if(argc<3)
            ??? {
            ??????? cout<<"參數(shù)錯誤"<<endl;
            ??????? cout<<"<CMD> <FileNameSrc> <FileNameDis>"<<endl;
            ??????? exit(-1);
            ??? }
            ???
            ?int nFileSize=0;
            //讀出二進(jìn)制文件的大小nFileSize
            ?struct stat fFileMesg;
            ?stat(argv[1],&fFileMesg);
            ?cout<<fFileMesg.st_size<<endl;
            ?nFileSize=fFileMesg.st_size;
            ?
            //用二進(jìn)制格式打開讀寫文件?
            ?ofstream ifs(argv[2],ios::binary);
            ?ifstream ofs(argv[1],ios::binary);

            ? if(!ifs)
            ??? {
            ???? cout<<"打開讀取文件["<<argv[1]<<"]失敗"<<endl;
            ???? system("PAUSE");
            ???? return -1;
            ???? }

            ?if(!ofs)
            ??? {
            ???? cout<<"打開寫入文件["<<argv[2]<<"]失敗"<<endl;
            ???? system("PAUSE");
            ???? return -1;
            ???? }

            //使用int型強制轉(zhuǎn)換四個字節(jié)四個字節(jié)讀取?
            ?int nTmp=5;
            ?int nCount=0;
            ?while(!ofs.eof())
            ?{
            ??ofs.read((char*)(&nTmp), sizeof(nTmp));
            //gcount()函數(shù)可以返回read讀取的直接數(shù)
            ??nCount+=ofs.gcount();
            ??ifs.write((char*)(&nTmp), sizeof(nTmp));
            ?}
            //關(guān)閉文件流
            ? ifs.close();
            ? ofs.close();
            ? system("PAUSE");
            ? return EXIT_SUCCESS;
            }

            posted on 2006-10-20 16:16 夜沁 閱讀(1793) 評論(0)  編輯 收藏 引用 所屬分類: c++
            国产精品久久久久免费a∨| 欧美日韩成人精品久久久免费看| 一本久久a久久精品综合香蕉| 亚洲国产成人精品女人久久久| 亚洲&#228;v永久无码精品天堂久久| 久久露脸国产精品| 国产一区二区久久久| 91久久婷婷国产综合精品青草| 国产成人精品久久亚洲高清不卡 | 久久久久亚洲精品日久生情 | 欧美伊香蕉久久综合类网站| 国产精品激情综合久久| 中文字幕无码精品亚洲资源网久久| 色狠狠久久AV五月综合| 久久黄视频| 69久久夜色精品国产69| 思思久久精品在热线热| 欧美精品一区二区精品久久| 97久久婷婷五月综合色d啪蜜芽| 成人久久综合网| 中文字幕日本人妻久久久免费| 精品综合久久久久久88小说 | 久久人人爽人人爽人人片av高请| 国产精品免费久久久久影院| 精品久久久久久亚洲精品| 2019久久久高清456| 久久亚洲精品无码观看不卡| 热99re久久国超精品首页| 久久亚洲精品人成综合网| 久久天天躁夜夜躁狠狠| 青春久久| 久久天天躁狠狠躁夜夜av浪潮 | 久久久久久噜噜精品免费直播| 久久成人国产精品二三区| 国内精品人妻无码久久久影院 | 99国产欧美久久久精品蜜芽| 亚洲精品无码久久千人斩| 久久亚洲精品无码VA大香大香| 久久久久女教师免费一区| 狠狠人妻久久久久久综合| 国内精品久久久久久久亚洲 |