青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

我住包子山

this->blog.MoveTo("blog.baozishan.in")

用fstream對二進制文件的讀寫

這里介紹使用fstream這個類完成這個任務,fstream在輸入輸出方面比較全能。

操作系統通過二進制文件格式存儲大量文件。一般不指定二進制文件操作的I/O操作是面向文本的,用來讀寫特定編碼的文本。本文介紹用C++的fstream類讀寫二進制文件。

讀寫數據以這個WebSite結構體為例

        // Struct for C++ File I/O binary file sample

   1: struct WebSites
   2: {
   3:      char SiteName[100];
   4:      int Rank;
   5: };

寫操作

    注意事項

  • 要寫的文件需要用到輸出模式標志 ios::out和二進制操作模式標志ios::binary。
  • write()函數需要兩個參數.第一個參數是char*類型用來指定需要寫入的數據, 第二個參數是int類型指定寫入多少個字節.
  • 最后記得要用close()結束.

        // Sample for C++ File I/O binary file write

   1: void write_to_binary_file(WebSites p_Data)
   2: {
   3:     fstream binary_file("c:\\test.dat",ios::out|ios::binary|ios::app); 
   4:     binary_file.write(reinterpret_cast<char *>(&p_Data),sizeof(WebSites));
   5:     binary_file.close();
   6: } 

上面的例子把一個WebSites的對象追加進了c:\test.dat之中,ios::app是追加方式操作文件的標志。

上面的write函數,需要第一個參數為char*類型,所以用 reinterpret_cast轉換將這個對象地址轉換成char*類型.

讀操作

   跟上面的操作流程類似. 唯一不同在于使用輸入模式標志ios::in, 使用read()方法.

        // Sample for C++ File I/O binary file read

   1: void read_from_binary_file()
   2: {
   3:     WebSites p_Data;
   4:     fstream binary_file("c:\\test.dat",ios::binary|ios::in);
   5:     binary_file.read(reinterpret_cast<char *>(&p_Data),sizeof(WebSites));
   6:     binary_file.close();
   7:     cout<<p_Data.SiteName<<endl;
   8:     cout<<"Rank :"<< p_Data.Rank<<endl;
   9: } 

本文只是關于文件io流的一些基礎介紹,一些高級操作比如seek,檢查文件指針的有效性等等,也是需要學習的,這里就不多說了。

文章來源  我只是做一個簡短的翻譯

posted on 2008-05-09 14:41 Gohan 閱讀(22903) 評論(10)  編輯 收藏 引用 所屬分類: C++

Feedback

# re: 用fstream對二進制文件的讀寫 2008-05-09 16:49 陳梓瀚(vczh)

去年用VS2005的時候,fstream在遇到路徑含有中文的時候會掛。  回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2008-05-10 00:10 wangyucao

看你空間還可以學習,真好……  回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2008-05-10 20:19 Gohan

@陳梓瀚(vczh)
對,算是字符編碼的問題,以前我找到過解決方法,現下忘記了,完了貼上來,還請你多指點了:)。
http://www.shnenglu.com/gohan/archive/2008/05/11/49488.html
解決會掛的問題,呵呵  回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2008-05-10 20:20 Gohan

@wangyucao
呵呵,隨便學學  回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2009-07-04 01:26 程代宗

不知道為什么用這個方法總是讀取不到值...
#include "iostream"
#include "fstream"
#include "stdio.h"
using namespace std;

struct website
{
char site;
int id;
};
int main(int argc, char* argv[])
{
website web,getweb;
web.site = 'C';
web.id = 11;
fstream binary_file("1.dat",ios::out|ios::binary);
binary_file.write(reinterpret_cast<char *>(&web),sizeof(website));
binary_file.close;

ifstream fin("1.dat",ios::binary);
fin.read(reinterpret_cast<char *>(&getweb),sizeof(website));
fin.close();
char endmain = 'd';
char *end = &endmain;
gets(end);
return 0;
}   回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2009-07-04 01:30 程代宗

不好意思...是因為文件還沒有寫進去就去讀的原因...  回復  更多評論   

# re: 用fstream對二進制文件的讀寫 2010-01-31 10:16 hmaya

寫的很清楚,一看就學會啦,謝謝老師:)  回復  更多評論   

# re: 用fstream對二進制文件的讀寫[未登錄] 2013-10-26 02:20 zhang

咋看不到二進制^  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲一区国产| 在线激情影院一区| 亚洲免费视频在线观看| 新片速递亚洲合集欧美合集| 国产精品久久久久免费a∨大胸| 日韩视频在线观看国产| 亚洲天天影视| 国产精品久久久久久久久久ktv | 欧美在线亚洲综合一区| 久久亚洲风情| 国产精品欧美日韩一区二区| 欧美影院一区| 欧美黑人在线观看| 久久国产黑丝| 欧美激情一区二区三区不卡| 亚洲嫩草精品久久| 久久中文字幕一区二区三区| 一区二区三区四区精品| 久久久91精品| 欧美一区二区在线看| 亚洲乱码久久| 亚洲欧洲视频| …久久精品99久久香蕉国产 | 欧美xxxx在线观看| 午夜精品亚洲一区二区三区嫩草| 伊人色综合久久天天五月婷| 亚洲天堂网在线观看| 亚洲高清网站| 久久精品人人做人人综合| 亚洲一区在线免费| 亚洲一区二区视频| 一区二区免费看| 国产欧美短视频| 国产日韩欧美高清| 国产日韩欧美综合一区| 欧美日韩在线观看视频| 欧美视频中文字幕| 欧美精品一区二区三区高清aⅴ| 免费在线观看日韩欧美| 久久久久久久综合日本| 老司机凹凸av亚洲导航| 欧美大色视频| 欧美理论大片| 国产麻豆视频精品| 国产在线欧美日韩| 亚洲欧洲一二三| 亚洲午夜国产成人av电影男同| 午夜久久久久久久久久一区二区| 亚洲午夜激情网页| 欧美一区二区视频在线观看| 久久久久久久久久久久久女国产乱| 久久久亚洲精品一区二区三区| 老司机一区二区三区| 美腿丝袜亚洲色图| 亚洲影视在线播放| 亚洲激情视频在线观看| 欧美视频一区在线观看| 久久蜜桃香蕉精品一区二区三区| 日韩天天综合| 欧美中文字幕视频| 亚洲国产一区二区在线| 亚洲精选视频免费看| 欧美亚洲三级| 欧美国产日本| 国产精品自拍网站| 亚洲伦理在线| 欧美成人久久| 午夜激情综合网| 欧美日韩国产小视频| 黑人一区二区三区四区五区| 亚洲在线视频网站| 一区二区三区欧美在线观看| 久久久久久久久久久成人| 一区二区三区国产| 欧美福利网址| 亚洲看片免费| 欧美高清视频在线| 美女任你摸久久| 亚洲第一主播视频| 久久综合导航| 久久综合久久久久88| 狠狠88综合久久久久综合网| 久久久久一本一区二区青青蜜月| 亚洲综合电影一区二区三区| 一区二区精品| 久久er精品视频| 久久先锋影音| 欧美午夜电影一区| 国产美女扒开尿口久久久| 国产精品无码永久免费888| 国产精品自拍视频| 亚洲国产精品电影在线观看| 亚洲国产免费看| 亚洲伦理在线免费看| 免费观看成人网| 日韩午夜激情av| 亚洲欧美日韩国产一区二区三区| 国产日韩欧美精品| 欧美高清免费| 国产麻豆精品在线观看| 欧美阿v一级看视频| 国产精品国产三级国产aⅴ浪潮| 欧美亚洲视频一区二区| 久久久久久一区| 欧美黄免费看| 欧美大片免费看| 国产欧美一区二区精品秋霞影院| 欧美激情视频网站| 国产亚洲午夜高清国产拍精品| 欧美激情视频网站| 亚洲大胆视频| 欧美日韩精品久久| 欧美成人日韩| 在线激情影院一区| 欧美一区二区免费| 久久精品噜噜噜成人av农村| 欧美日韩精品一区二区三区| 模特精品裸拍一区| 亚洲电影专区| 久久综合伊人77777| 久久这里只精品最新地址| 国产日本欧美一区二区| 亚洲欧美另类在线| 欧美在线www| 红桃视频亚洲| 亚洲一卡久久| 亚洲女女做受ⅹxx高潮| 国产亚洲毛片| 91久久午夜| 国产精品亚洲成人| 久久综合国产精品| 亚洲三级影院| 欧美日韩在线一区| 亚洲国产成人一区| 久久精品2019中文字幕| 久久亚洲一区二区| 亚洲人成亚洲人成在线观看| 欧美日韩国产限制| 亚洲欧美日本国产有色| 美女啪啪无遮挡免费久久网站| 亚洲精品黄色| 国产伦精品一区二区三区四区免费| 久久国产黑丝| 一区二区成人精品| 亚洲电影免费观看高清完整版在线观看| 亚洲成人资源| 欧美日韩一区在线播放| 久久成人这里只有精品| 在线观看不卡av| 国产精品久久久久久久久免费桃花 | 欧美午夜免费| 午夜日韩在线| 亚洲作爱视频| 亚洲激情一区二区三区| 欧美一区二区三区另类| 性欧美长视频| 亚洲欧美国产制服动漫| 日韩一区二区精品| 影音欧美亚洲| 精久久久久久| 韩曰欧美视频免费观看| 国产精品一区免费视频| 欧美日韩精品一区二区| 欧美日韩情趣电影| 久久久久se| 亚洲自拍偷拍麻豆| 亚洲美女啪啪| 亚洲精品久久视频| 影音先锋中文字幕一区二区| 欧美第一黄色网| 亚洲综合视频一区| 欧美黑人多人双交| 亚洲字幕一区二区| 午夜精品影院在线观看| 狠狠久久亚洲欧美专区| 欧美精品午夜| 久久国产精品亚洲77777| 亚洲国产mv| 亚洲精品综合| 久久精品国产欧美激情| 欧美高清在线观看| 国产精品极品美女粉嫩高清在线| 午夜在线电影亚洲一区| 亚洲精品一区在线| 午夜精品一区二区三区在线视| 久久久久久69| 一本色道久久88精品综合| 性亚洲最疯狂xxxx高清| 欧美激情精品久久久久久蜜臀| 亚洲美女电影在线| 久久免费黄色| 国产精品永久在线| 一区二区日本视频| 欧美jjzz| 久久大综合网| 欧美专区福利在线| 亚洲精品中文字幕女同| 久久一二三区| 在线欧美日韩| 免费中文日韩|