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

posts - 29,comments - 10,trackbacks - 0

 

對文件讀寫的三種方法
  1.C中
    FILE *pFile=fopen("1.txt","w");
fwrite("http://www.sunxin.org",1,strlen("http://www.sunxin.org"),pFile");
//fseek(pFile,0,SEEK_SET);
//fwrite("ftp:",1,strlen("ftp:"),pFile);
//fwrite("http://www.sunxin.org",1,strlen("http://www.sunxin.org"),pFile");
fclose(pFile);*/
//fflush(pFile);

表頭文件 #include<stdio.h>

FILE * fopen(const char * path,const char * mode);
  函數說明 參數path字符串包含欲打開的文件路徑及文件名,參數mode字符串則代表著流形態。
  mode有下列幾種形態字符串:

int fseek( FILE *stream, long offset, int origin );
  第一個參數stream為文件指針
  第二個參數offset為偏移量,整數表示正向偏移,負數表示負向偏移
  第三個參數origin設定從文件的哪里開始偏移,可能取值為:SEEK_CUR、 SEEK_END 或 SEEK_SET
  SEEK_CUR: 當前位置
  SEEK_END: 文件結尾
  SEEK_SET: 文件開頭
  其中SEEK_CUR,SEEK_END和SEEK_SET依次為1,2和0

:fwrite(buffer,size,count,fp);
  (1)buffer:是一個指針,對fwrite來說,是要輸出數據的地址。
  (2)size:要寫入的字節數;
  (3)count:要進行寫入size字節的數據項的個數;
  (4)fp:目標文件指針。

int fread(void *ptr, int size, int nitems, FILE *stream);
  參 數:用于接收數據的地址(指針)(ptr)
  單個元素的大小(size)
  元素個數(nitems)
  提供數據的文件指針(stream)

:int fflush(FILE *stream) 
         功 能: 清除文件緩沖區,文件以寫方式打開時將緩沖區內容寫入文件 

  2.C++中
/* ofstream ofs("4.txt");
ofs.write("http://www.sunxin.org",strlen("http://www.sunxin.org"));
ofs.close();*/
         要包括頭文件 "fstream.h"

  3.MFC中 用CFile類,哈哈!簡單好用
CFileDialog fileDlg(FALSE);
fileDlg.m_ofn.lpstrTitle="我的文件保存對話框";
fileDlg.m_ofn.lpstrFilter="Text Files(*.txt)\0*.txt\0All Files(*.*)\0*.*\0\0";
fileDlg.m_ofn.lpstrDefExt="txt";
if(IDOK==fileDlg.DoModal())
{
  CFile file(fileDlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
  file.Write("http://www.sunxin.org",strlen("http://www.sunxin.org"));
  file.Close();
}

  CFile操作詳解
  各種關于文件的操作在程序設計中是十分常見,如果能對其各種操作都了如指掌,就可以根據實際情況找到最佳的解決方案,從而在較短的時間內編寫出高效的代碼,因而熟練的掌握文件操作是十分重要的。本文將對Visual C++中有關文件操作進行全面的介紹,并對在文件操作中經常遇到的一些疑難問題進行詳細的分析。
  1.文件的查找
  當對一個文件操作時,如果不知道該文件是否存在,就要首先進行查找。MFC中有一個專門用來進行文件查找的類CFileFind,使用它可以方便快捷地進行文件的查找。下面這段代碼演示了這個類的最基本使用方法。
  CString strFileTitle;
  CFileFind finder;
  BOOL bWorking = finder.FindFile("C:\\windows\\sysbkup\\*.cab");
  while(bWorking)
  {
  bWorking=finder.FindNextFile();
  strFileTitle=finder.GetFileTitle();
  }
  2.文件的打開/保存對話框
  讓用戶選擇文件進行打開和存儲操作時,就要用到文件打開/保存對話框。MFC的類CFileDialog用于實現這種功能。使用CFileDialog聲明一個對象時,第一個BOOL型參數用于指定文件的打開或保存,當為TRUE時將構造一個文件打開對話框,為FALSE時構造一個文件保存對話框。
  在構造CFileDialog對象時,如果在參數中指定了OFN_ALLOWMULTISELECT風格,則在此對話框中可以進行多選操作。此時要重點注意為此CFileDialog對象的m_ofn.lpstrFile分配一塊內存,用于存儲多選操作所返回的所有文件路徑名,如果不進行分配或分配的內存過小就會導致操作失敗。下面這段程序演示了文件打開對話框的使用方法。
  CFileDialog mFileDlg(TRUE,NULL,NULL,
  OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT,
  "All Files (*.*)|*.*||",AfxGetMainWnd());
  CString str(" ",10000);
  mFileDlg.m_ofn.lpstrFile=str.GetBuffer(10000);
  str.ReleaseBuffer();
  POSITION mPos=mFileDlg.GetStartPosition();
  CString pathName(" ",128);
  CFileStatus status;
  while(mPos!=NULL)
  {
  pathName=mFileDlg.GetNextPathName(mPos);
  CFile::GetStatus( pathName, status );
  }
  3.文件的讀寫
  文件的讀寫非常重要,下面將重點進行介紹。文件讀寫的最普通的方法是直接使用CFile進行,如文件的讀寫可以使用下面的方法:
  //對文件進行讀操作
  char sRead[2];
  CFile mFile(_T("user.txt"),CFile::modeRead);
  if(mFile.GetLength()<2)
  return;
  mFile.Read(sRead,2);
  mFile.Close();
  //對文件進行寫操作
  CFile mFile(_T("user.txt "), CFile::modeWrite|CFile::modeCreate);
  mFile.Write(sRead,2);
  mFile.Flush();
  mFile.Close();
  雖然這種方法最為基本,但是它的使用繁瑣,而且功能非常簡單。我向你推薦的是使用CArchive,它的使用方法簡單且功能十分強大。首先還是用CFile聲明一個對象,然后用這個對象的指針做參數聲明一個CArchive對象,你就可以非常方便地存儲各種復雜的數據類型了。它的使用方法見下例。
  //對文件進行寫操作
  CString strTemp;
  CFile mFile;
  mFile.Open("d:\\dd\\try.TRY",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
  CArchive ar(&mFile,CArchive::store);
  ar<<strTemp;
  ar.Close();
  mFile.Close();
  //對文件進行讀操作
  CFile mFile;
  if(mFile.Open("d:\\dd\\try.TRY",CFile::modeRead)==0)
  return;
  CArchive ar(&mFile,CArchive::load);
  ar>>strTemp;
  ar.Close();
  mFile.Close();
  CArchive的 << 和>> 操作符用于簡單數據類型的讀寫,對于CObject派生類的對象的存取要使用ReadObject()和WriteObject()。使用CArchive的ReadClass()和WriteClass()還可以進行類的讀寫,如:
  //存儲CAboutDlg類
  ar.WriteClass(RUNTIME_CLASS(CAboutDlg));
  //讀取CAboutDlg類
  CRuntimeClass* mRunClass=ar.ReadClass();
  //使用CAboutDlg類
  CObject* pObject=mRunClass->CreateObject();
  ((CDialog* )pObject)->DoModal();
  雖然VC提供的文檔/視結構中的文檔也可進行這些操作,但是不容易理解、使用和管理,因此雖然很多VC入門的書上花費大量篇幅講述文檔/視結構,但我建議你最好不要使用它的文檔。關于如何進行文檔/視的分離有很多書介紹,包括非常著名的《Visual C++ 技術內幕》。
  如果你要進行的文件操作只是簡單的讀寫整行的字符串,我建議你使用CStdioFile,用它來進行此類操作非常方便,如下例。
  CStdioFile mFile;
  CFileException mExcept;
  mFile.Open( "d:\\temp\\aa.bat", CFile::modeWrite, &mExcept);
  CString string="I am a string.";
  mFile.WriteString(string);
  mFile.Close();
  4.臨時文件的使用
  正規軟件經常用到臨時文件,你經常可以會看到C:\Windows\Temp目錄下有大量的擴展名為tmp的文件,這些就是程序運行是建立的臨時文件。臨時文件的使用方法基本與常規文件一樣,只是文件名應該調用函數GetTempFileName()獲得。它的第一個參數是建立此臨時文件的路徑,第二個參數是建立臨時文件名的前綴,第四個參數用于得到建立的臨時文件名。得到此臨時文件名以后,你就可以用它來建立并操作文件了,如:
  char szTempPath[_MAX_PATH],szTempfile[_MAX_PATH];
  GetTempPath(_MAX_PATH, szTempPath);
  GetTempFileName(szTempPath,_T ("my_"),0,szTempfile);
  CFile m_tempFile(szTempfile,CFile:: modeCreate|CFile:: modeWrite);
  char m_char='a';
  m_tempFile.Write(&m_char,2);
  m_tempFile.Close();
  5.文件的復制、刪除等
  MFC中沒有提供直接進行這些操作的功能,因而要使用SDK。SDK中的文件相關函數常用的有CopyFile()、CreateDirectory()、DeleteFile()、MoveFile()。它們的用法很簡單,可參考MSDN。
 

  1,判斷文件是否存在
  access(filename,mode);
  2,對于不同用途又不同的文件操作,其中API函數CreateFile()也是比較有用處理方式,對于巨型文件很合適的其他的樓上的大都說了,不重復了.
  [1]顯示對話框,取得文件名
  CString FilePathName;
  CFileDialog dlg(TRUE);///TRUE為OPEN對話框,FALSE為S***E AS對話框
  if (dlg.DoModal() == IDOK)
  FilePathName=dlg.GetPathName();
  相關信息:CFileDialog 用于取文件名的幾個成員函數:
  假如選擇的文件是C:\WINDOWS\TEST.EXE
  則(1)GetPathName();取文件名全稱,包括完整路徑。取回C:\WINDOWS\TEST.EXE
  (2)GetFileTitle();取文件全名:TEST.EXE
  (3)GetFileName();取回TEST
  (4)GetFileExt();取擴展名EXE
  [2]打開文件
  CFile file("C:\HELLO.TXT",CFile::modeRead);//只讀方式打開
  //CFile::modeRead可改為 CFile::modeWrite(只寫),
  //CFile::modeReadWrite(讀寫),CFile::modeCreate(新建)
  例子:
  {
  CFile file;
  file.Open("C:\HELLO.TXT",CFile::modeCreate|Cfile::modeWrite);
  }
  [3]移動文件指針
  file.Seek(100,CFile::begin);///從文件頭開始往下移動100字節
  file.Seek(-50,CFile::end);///從文件末尾往上移動50字節
  file.Seek(-30,CFile::current);///從當前位置往上移動30字節
  file.SeekToBegin();///移到文件頭
  file.SeekToEnd();///移到文件尾
  [4]讀寫文件
  讀文件:
  char buffer[1000];
  file.Read(buffer,1000);
  寫文件:
  CString string("自強不息");
  file.Write(string,8);
  [5]關閉文件
  file.Close();

  HANDLE CreateFile(
  LPCTSTR lpFileName, //指向文件名的指針
  DWORD dwDesiredAccess, //訪問模式(寫/讀)
  DWORD dwShareMode, //共享模式
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, //指向安全屬性的指針
  DWORD dwCreationDisposition, //如何創建
  DWORD dwFlagsAndAttributes, //文件屬性
  HANDLE hTemplateFile //用于復制文件句柄
  );
  參數列表
  lpFileName String 要打開的文件的名字
  dwDesiredAccess Long 如果為 GENERIC_READ 表示允許對設備進行讀訪問;如果為 GENERIC_WRITE 表示允許對設備進行寫訪問(可組合使用);如果為零,表示只允許獲取與一個設備有關的信息
  dwShareMode Long, 零表示不共享; FILE_SHARE_READ 和/或 FILE_SHARE_WRITE 表示允許對文件進行共享訪問
  lpSecurityAttributes SECURITY_ATTRIBUTES, 指向一個SECURITY_ATTRIBUTES結構的指針,定義了文件的安全特性(如果操作系統支持的話)
  dwCreationDisposition Long,下述常數之一:
  CREATE_NEW 創建文件;如文件存在則會出錯
  CREATE_ALWAYS 創建文件,會改寫前一個文件
  OPEN_EXISTING 文件必須已經存在。由設備提出要求
  OPEN_ALWAYS 如文件不存在則創建它
  TRUNCATE_EXISTING 講現有文件縮短為零長度
  dwFlagsAndAttributes Long, 一個或多個下述常數
  FILE_ATTRIBUTE_ARCHIVE 標記歸檔屬性
  FILE_ATTRIBUTE_COMPRESSED 將文件標記為已壓縮,或者標記為文件在目錄中的默認壓縮方式
  FILE_ATTRIBUTE_NORMAL 默認屬性
  FILE_ATTRIBUTE_HIDDEN 隱藏文件或目錄
  FILE_ATTRIBUTE_READONLY 文件為只讀
  FILE_ATTRIBUTE_SYSTEM 文件為系統文件
  FILE_FLAG_WRITE_THROUGH 操作系統不得推遲對文件的寫操作
  FILE_FLAG_OVERLAPPED 允許對文件進行重疊操作
  FILE_FLAG_NO_BUFFERING 禁止對文件進行緩沖處理。文件只能寫入磁盤卷的扇區塊
  FILE_FLAG_RANDOM_ACCESS 針對隨機訪問對文件緩沖進行優化
  FILE_FLAG_SEQUENTIAL_SCAN 針對連續訪問對文件緩沖進行優化
  FILE_FLAG_DELETE_ON_CLOSE 關閉了上一次打開的句柄后,將文件刪除。特別適合臨時文件
posted on 2009-07-29 10:07 The_Moment 閱讀(11826) 評論(0)  編輯 收藏 引用 所屬分類: VC理論
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久久久国产一区二区| 久久久蜜桃精品| 欧美在线中文字幕| 亚洲天堂成人在线观看| 99国产精品| 9色porny自拍视频一区二区| 亚洲国产一区二区三区青草影视| 亚洲盗摄视频| 日韩视频免费看| 亚洲欧美激情视频| 久久人人精品| 亚洲精品久久久久中文字幕欢迎你 | 最新国产の精品合集bt伙计| 黄色资源网久久资源365| 亚洲成色777777女色窝| 亚洲激情电影中文字幕| 一区二区三区免费网站| 欧美一级欧美一级在线播放| 久久成人羞羞网站| 亚洲天堂成人| 久久精品官网| 欧美大秀在线观看| 91久久久亚洲精品| 亚洲欧美国产精品va在线观看| 香蕉成人伊视频在线观看| 久久精品国产99国产精品| 麻豆精品视频在线| 欧美性开放视频| 韩日在线一区| 日韩亚洲视频在线| 久久成人国产精品| 亚洲人久久久| 久久狠狠一本精品综合网| 美玉足脚交一区二区三区图片| 欧美日韩午夜在线| 影音先锋在线一区| 亚洲线精品一区二区三区八戒| 久久国产手机看片| 亚洲美女视频网| 久久精品一级爱片| 国产欧美va欧美va香蕉在| 夜夜夜久久久| 亚洲国产精品t66y| 浪潮色综合久久天堂| 国产精品区一区| 这里只有精品电影| 亚洲国产精品一区| 久久久噜噜噜久久中文字免| 欧美三级视频在线观看| 最近中文字幕日韩精品| 久久偷看各类wc女厕嘘嘘偷窃| 亚洲啪啪91| 欧美大片一区二区| 亚洲激情视频在线播放| 久热这里只精品99re8久| 欧美在线三级| 国内精品嫩模av私拍在线观看| 欧美亚洲免费| 亚洲欧美日韩一区二区三区在线 | 国产欧美日韩在线观看| 亚洲一区二区精品在线观看| 亚洲精品一区在线观看香蕉| 蜜桃av综合| 亚洲黄色毛片| 欧美国产日韩一区二区| 久久深夜福利免费观看| 在线日韩av片| 亚洲国产精品女人久久久| 在线看片成人| 免费欧美日韩| 麻豆国产精品va在线观看不卡| 激情成人av| 久久五月激情| 久久阴道视频| 亚洲激情网站免费观看| 欧美大片在线观看| 欧美黄色片免费观看| 一本大道av伊人久久综合| 亚洲国产视频直播| 久久精品一本久久99精品| 亚洲专区一区| 狠狠色狠狠色综合| 亚洲福利在线观看| 欧美日韩免费在线观看| 亚洲欧美一区二区激情| 欧美一区影院| 亚洲激情不卡| 洋洋av久久久久久久一区| 国产精品v欧美精品v日韩精品 | 亚洲欧洲三级| 亚洲视频香蕉人妖| 韩国av一区二区三区在线观看| 男同欧美伦乱| 国产精品久久久久毛片大屁完整版| 亚洲欧美精品在线观看| 欧美中文字幕第一页| 亚洲国产精品v| 在线一区二区三区做爰视频网站 | 久久一区视频| 欧美人与性动交α欧美精品济南到| 亚洲欧美日韩在线综合| 久久久久久有精品国产| 亚洲午夜电影网| 久久国产66| 亚洲精品综合精品自拍| 亚洲一区二区三区在线| 伊人久久男人天堂| 一区二区三区精品视频在线观看| 韩国欧美国产1区| 亚洲日本在线视频观看| 黑人一区二区三区四区五区| 一本色道久久综合亚洲精品不| 激情五月婷婷综合| 亚洲尤物视频在线| 亚洲视频在线观看| 美女视频一区免费观看| 久久成人一区| 国产精品theporn88| 亚洲激情欧美| 亚洲高清av| 久久大香伊蕉在人线观看热2| 亚洲天堂成人在线观看| 欧美韩国日本一区| 欧美成人在线免费观看| 国产区二精品视| 亚洲小说欧美另类社区| 国产午夜精品在线| 欧美日韩国产三级| 久久精品一本久久99精品| 欧美视频在线观看| 亚洲人www| 在线日韩欧美| 久久精品官网| 久久久国际精品| 国产三级欧美三级日产三级99| 99精品国产在热久久下载| 亚洲精品小视频| 欧美国产第一页| 欧美韩日一区二区三区| 亚洲成人资源| 女人天堂亚洲aⅴ在线观看| 久久综合亚洲社区| 亚洲成人影音| 欧美国产精品va在线观看| 欧美丰满少妇xxxbbb| 亚洲国产高清在线观看视频| 狂野欧美激情性xxxx| 亚洲电影天堂av| 亚洲最新合集| 国产精品欧美久久| 久久99在线观看| 美女黄网久久| 亚洲国产精品www| 欧美精品成人91久久久久久久| 亚洲欧洲精品一区二区| 一区二区三区国产精华| 国产精品v欧美精品v日韩精品| 亚洲免费在线视频| 久久久久久久久岛国免费| 在线播放一区| 欧美日韩一区二区三区视频 | 午夜在线观看欧美| 国产欧美一区二区三区另类精品 | 亚洲视频在线看| 国产精品毛片在线看| 亚洲欧美制服另类日韩| 美女国内精品自产拍在线播放| 亚洲人午夜精品免费| 欧美日韩亚洲高清一区二区| 亚洲一区二区三区777| 猛男gaygay欧美视频| 亚洲久久成人| 国产日韩欧美日韩大片| 欧美成人午夜影院| 性欧美1819sex性高清| 亚洲福利精品| 久久国产欧美日韩精品| 亚洲久久一区| 国产主播喷水一区二区| 欧美大尺度在线观看| 亚洲欧美日韩一区| 亚洲毛片av在线| 噜噜爱69成人精品| 亚洲已满18点击进入久久| 一区二区在线观看av| 欧美性猛交xxxx免费看久久久 | 性色av一区二区怡红| 国产精品久久久一区二区| 久久精选视频| 一本色道久久综合亚洲精品高清| 久久久久久久一区二区三区| 一区二区三区日韩精品| 精品不卡一区| 国产欧美一区二区三区久久 | 欧美成人午夜激情视频| 欧美一区二区在线播放| 在线亚洲一区二区| 亚洲国产一成人久久精品| 久久久人成影片一区二区三区观看| 亚洲视频日本|