亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? c++ 中關(guān)于文件的讀入和輸出.txt

?? vc學(xué)習(xí)記錄
?? TXT
字號(hào):
C++ 中關(guān)于文件的讀入和輸出。
Example : 從in.txt 文件中讀入數(shù)據(jù),并輸出到out.txt中,輸出的文件中每行之間有一空行相隔


#include 
#include 
#include 
using namespace std;
int main (int){
     
    string s;
     
    ifstream inf;
     inf.open("in.txt");

     //打開(kāi)輸出文件
    ofstream outf;
    outf.open("out.txt");
    
     
    //從in.txt 文件中讀入數(shù)據(jù),并輸出到out.txt中
    /*其中 getline(參1,參2); 作用是從 inf 指向的文件中
      每次讀入一行,把數(shù)據(jù)存到字符串s 中,從第一行開(kāi)始
     每讀完一行后,系統(tǒng)自動(dòng)地把指針指向下一行,不用人為
     干預(yù)*/
    while( getline(inf,s ) ){    
        outf << s  << '\n\n';                //我這里并沒(méi)有用到字符串
        cout << s  << endl << endl;            //數(shù)組,而是只用了一個(gè)串
    }                            //S,是因?yàn)槲颐看巫x入一行
                                //后,立即就把它輸出到
                                                

                            //out.txt中,跟著讀下一行

    inf.close();
    outf.close();
    return 0;
}

========================================方法二============================================

#include 
#include 
#include 
#include 
using namespace std;
int main (int){
     
    
     
    ifstream inf;
    inf.open("in.txt");
     

    ofstream outf;
    outf.open("out.txt");
    
    /*這道題有許多解法的,重要的要了它文件輸入輸出的原理
     你可以一行行地讀入,也可以一個(gè)字一個(gè)字地讀入,或一個(gè)詞
     一個(gè)詞地讀入,整型或浮點(diǎn)型讀入,看你定義的是哪種數(shù)據(jù)類(lèi)型*/
    
    char c;
    inf >> noskipws;            //不忽略空白,把每行最后那個(gè)'\n'
                                //也讀進(jìn)來(lái)。
    while(inf >>c)
    {
        if (c == '\n'){            //遇到 '\n' 回車(chē)、換行。
            outf << "\n\n";        //輸出到文件
            cout << "\n\n";        //輸出到屏幕
        }
            
        else{
            outf << c;            //輸出到文件
            cout << c;            //輸出到屏幕
        }
    }
    /* 同樣的原理,從文件中讀入單個(gè)字符,每次讀入一個(gè)后,
      系統(tǒng)自動(dòng)地把指針指向下一個(gè)字,而不用你指定這次讀哪個(gè),
        下次讀哪個(gè),除非你不想從第一個(gè)開(kāi)始讀,比如說(shuō):我想從
        第100個(gè)字開(kāi)始讀,或者我想讀最后50個(gè)字。這就需要調(diào)用
        相應(yīng)的函數(shù),并指定相應(yīng)的位置。*/


    inf.close();
    outf.close();
    return 0;
} 



 
主  題:  請(qǐng)問(wèn)VC++中,怎么實(shí)現(xiàn)讀取.txt文件時(shí)的行定位,就是讀取指定的行的內(nèi)容.
 
 
   
 

請(qǐng)問(wèn)VC++中,怎么實(shí)現(xiàn)讀取.txt文件時(shí)的行定位,就是讀取指定的行的內(nèi)容.

 


 
? 
一行一行的讀到你想要的那行。
CStdioFile的ReadString()方法是讀一行。


 [VC] 文件對(duì)話框讀寫(xiě)文本文件 
2005年 01月23日 
文件對(duì)話框讀寫(xiě)文本文件/*************************************************
* 讀文本文件
**************************************************/
//顯示文件打開(kāi)對(duì)話框
CFileDialog dlg(TRUE, "SQL", "*.txt",OFN_HIDEREADONLY
                     |OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||"); 
if ( dlg.DoModal()!=IDOK ) return;
//獲取文件的絕對(duì)路徑
CString sFileName=dlg.GetPathName();
//打開(kāi)文件
CStdioFile out;
out.Open(sFileName, CFile::modeRead);
CString sSql="",s;
//讀取文件
do{
    out.ReadString(s);
    sSql=sSql+s+"\r\n";
}while ( out.GetPosition()out.Close(); 
//AfxMessageBox(sSql);


/*************************************************
* 寫(xiě)文本文件
**************************************************/
//顯示文件保存對(duì)話框
CFileDialog dlg(FALSE, "SQL", "*.txt",OFN_HIDEREADONLY 
                     | OFN_OVERWRITEPROMPT,"Text Files(*.txt)|*.txt|SQL Files(*.sql)|*.sql|All Files(*.*)|*.*||"); 
if ( dlg.DoModal()!=IDOK ) return;
//獲取文件的絕對(duì)路徑
CString sFileName=dlg.GetPathName();
CStdioFile out;
//打開(kāi)文件
out.Open(sFileName, CFile::modeCreate | CFile::modeWrite);
//保存文件
CString sSql="文本文件內(nèi)容";
out.WriteString(sSql);
out.Close();
 我要讀一個(gè)文件,但是我想讓一行一行的讀,而且每行有不一定長(zhǎng)度的,應(yīng)該怎么做呢?
(cqwally發(fā)表于2001-8-9 23:37:43)

1)
程序如下:
{

   .....................
   CStdioFile file;
   CString str;
   file.Open("test.txt",CFile::modeRead,NULL);
   file.ReadString(str);
   MessageBox(str);//第一行
   file.ReadString(str);
   MessageBox(str);//第二行
.....................
}


看看兩次顯示的有什么不同。test.txt文件如下:
第一行
第二行


2)
我用CFile::Write,怎樣才可以寫(xiě)入回車(chē),空格?而且我要寫(xiě)兩欄要對(duì)齊?
回車(chē)換行:"\r\n" 

如何正確的使用CFile::Open中的參數(shù)?
(taxiblackangel發(fā)表于2001-8-14 10:58:16)

  [問(wèn)題提出]
  我設(shè)計(jì)了一個(gè)從記事本中讀數(shù)據(jù)的程序。將數(shù)據(jù)顯示在視中。
  代碼如下:

  void CTry1View::OnShow() 
  {  
    // TODO: Add your command handler code here
    CStdioFile file;
     
    CString filename;
    CFileDialog opendlg(true,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,".(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
    if(opendlg.DoModal()==IDOK)
        filename=opendlg.GetPathName();
    if(file.Open(filename,CFile::modeCreate|CFile::modeReadWrite|CFile::typeText)==0)
    {

        AfxMessageBox("error");
        return;
    } 
                 
        while(file.ReadString(string))
                 {
                     strList.AddTail(string);
         string.ReleaseBuffer();
                 }
         
        flag=true;
        Invalidate();
  }
  結(jié)果不但在視中沒(méi)有任何顯示,而且記事本中的數(shù)據(jù)也全部丟失。變成了一片空白。真是搞不懂了。
  記事本中的數(shù)據(jù)是我隨便寫(xiě)的。如下:
  11
  222
  3333
  44444
  ....... 

  [解決方法]
  在file.Open(filename,CFile::modeCreate|CFile::modeReadWrite|CFile::typeText)中,CFile::modeCreate去掉,modeCreate的意思是沒(méi)有此文件就建立,有了此文件,清空文件.


最新評(píng)論 [發(fā)表評(píng)論]  查看所有評(píng)論  推薦給好友  打印 

 最好是這樣file.Open(filename,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite|CFile::typeText),因?yàn)镃File::modeNoTruncate意思是文件即使存在也不清空。 ( lichihang 發(fā)表于 2003-12-29 8:33:00) 

如何使用CStdioFile::ReadString來(lái)讀文件?
(yello2000i發(fā)表于2001-8-16 17:04:39)

  [問(wèn)題提出]
  一數(shù)據(jù)文件一行一條記錄,我用file.readstring()一次讀一行,并對(duì)讀取的數(shù)據(jù)做一些處理;
  請(qǐng)問(wèn):while(文件還沒(méi)到結(jié)尾) 
  {
  file.readstring();
  ...
  }
  ??文件還沒(méi)到結(jié)尾如何判斷?
  如果,到了指定位置不讀了,過(guò)一會(huì)兒再讀又如何做?
  [解決方法]
  while()中不用另加判斷條件了,因?yàn)镃StdioFile::ReadString()本身就是判斷標(biāo)志,若沒(méi)有了(文件到頭)返回NULL,因此:while(file.ReadString(s)){}就可.
  [程序?qū)崿F(xiàn)]
  假設(shè)你已有了名為ts.txt的文件在你的工程目錄下:
  {
   CStdioFile file;   
   CString sss;
   char ccc[100];
   DWORD o=0;
   int ol=0;
   file.Open("ts.txt",CFile::modeRead);
   while(file.ReadString(sss))
   {
      ol++;
      if(ol>1)//讀兩次就不讀了.
         break;      
      
   }
   o=file.GetPosition();//記錄上次的結(jié)果(讀到哪了)
   .................
   file.Seek(o,0);//接著上回讀
   while(file.ReadString(sss))
   {
      strcpy(ccc,sss);
      AfxMessageBox(ccc);
   }
  } 



 這樣的命名叫人看了好難受的  又是o
  又是0
我 覺(jué)得要測(cè)試的 字符就是"\n, \r, \r\n, or EOF. "
就可以了
( wshust 發(fā)表于 2004-3-4 21:28:00)

 上面lichihang,我試了一下,事實(shí)并不是如你所說(shuō)的那樣讀到空行就停了,而是一直讀下去呀!! ( pamir 發(fā)表于 2004-2-9 8:31:00)

 我不同意這個(gè)回答!
因?yàn)镃StdioFile::ReadString()返回NULL的條件是遇到文件尾或者一個(gè)空行,所以如果說(shuō)txt文件的某一條記錄后面連續(xù)出現(xiàn)了若干條空行,那么CStdioFile::ReadString()函數(shù)也會(huì)返回NULL,這樣文件并沒(méi)有讀取完畢! ( lichihang 發(fā)表于 2003-12-29 8:26:00)


刪除目錄及目錄下所有文件與子目錄
(Hermess發(fā)表于2002-5-24 22:10:27)

  VC++只提供了刪除一個(gè)空目錄的函數(shù),而在實(shí)際應(yīng)用中往往希望刪除其下有很多子目錄與文件的目錄。為了實(shí)現(xiàn)這一功能,我編寫(xiě)了DeleteDirectory 函數(shù),它可以實(shí)現(xiàn)這一功能。

函數(shù)原型:BOOL DeleteDirectory(char *DirName);
返回值:成功刪除時(shí)返回TRUE,否則返回FALSE
參數(shù)DirName為要?jiǎng)h除的目錄名,必須為絕對(duì)路徑名,如“c:\\temp"。

函數(shù)定義如下:
BOOL DeleteDirectory(char *DirName)
{
   CFileFind tempFind;
   char tempFileFind[200];
   sprintf(tempFileFind,"%s\\*.*",DirName);
   BOOL IsFinded=(BOOL)tempFind.FindFile(tempFileFind);
   while(IsFinded)
   {
      IsFinded=(BOOL)tempFind.FindNextFile();
      if(!tempFind.IsDots())
      {
         char foundFileName[200];
         strcpy(foundFileName,tempFind.GetFileName().GetBuffer(200));
         if(tempFind.IsDirectory())
         {
            char tempDir[200];
            sprintf(tempDir,"%s\\%s",DirName,foundFileName);
            DeleteDirectory(tempDir);
         }
         else
         {
            char tempFileName[200];
            sprintf(tempFileName,"%s\\%s",DirName,foundFileName);
            DeleteFile(tempFileName);
         }
      }
   }
   tempFind.Close();
   if(!RemovwDirctory(DirName))
   {
      MessageBox(0,"刪除目錄失敗!","警告信息",MK_OK);
      return FALSE;
   }
   return TRUE;
} 
 搜集--- 關(guān)于“按行讀取”“查找特定字符串”“替換字符串”操作
氣死了,剛剛誤操作,畫(huà)了一半的表格全都沒(méi)了。哼哼,沒(méi)有好興致說(shuō)些有趣的話了,愛(ài)看不看,愛(ài)聽(tīng)不聽(tīng)。氣死了!偏偏還要在網(wǎng)頁(yè)上寫(xiě),還要不保存!

不說(shuō)上午的事情了,

直奔主題氣死!

關(guān)鍵詞:文本文件 按行讀取 查找特定字符串 替換字符串 

                    C/C++                                                            VC/MFC

 按行:fgets();getline();                   StdioFile::ReadString(buf)CArchive::ReadString(CString &str)

 查找:strstr();_tcschr();fseek()          buf.Find(str)(buf是CString類(lèi)型的)

 替換:替換字符串

代碼:

CStringFile CLASS


我用fopen打開(kāi)一個(gè)txt文件,想查找某一字符串,找到這個(gè)字符串后,再讀取它對(duì)應(yīng)行的

其他數(shù)據(jù),請(qǐng)教大俠指點(diǎn)小弟如何去做,用什么函數(shù)。謝謝。

 

a. fopen過(guò)后,逐行讀入str, 用 strstr 判斷是否含有特定字符串. 例子:

   FILE *fd=fopen("你要打開(kāi)的文件","r+");

   char tmpLine[200];

   while(fgets(tmpLine,200,fd)!=NULL)

   {

       if( strstr(tmpLine,"你要找的字符串"))

        {

           printf("find the string!\n");

           break;

         }

       memset(tmpLine,0,200);

    }

   free(tmpLine);

 

//從指定文件中提取指定字符串

CStrOP& CStrOP::GetSpecifyString(LPCTSTR szSpec, CArchive *ar, BOOL bMid, int iMid, int *pRow, int *pCol)

{

    do

    {

        //讀取文件內(nèi)容

        if(ar)

        {

            //判斷是否到了文件最末

            if(!ar->ReadString(*this))

            {

                //未找到找到字符串

                if(pRow)

                {

                    *pRow = 0;

                }

                if(pCol)

                {

                    *pCol = 0;

                }

                (*this).Format("%s", "");

                break;              

            }

        }

        //獲得需要查找的字符串所在行

        if(pRow)

        {

            (*pRow)++;

        }

        //去掉空白字符

        TrimLeft();

        TrimRight();

        //判斷是否已經(jīng)找到需要的字串

        if(Find(szSpec) >= 0)

        {

            //獲得需要查找的字符串所在列

            if(pCol)

            {

                *pCol = Find(szSpec) + 1;

            }

            //判斷是否需要提取字符串

            if(bMid)

            {

            //判斷提取字符串的規(guī)則,如果iMid為-1,則不論字串在任何位置,都可以

            //進(jìn)行提取;否則,字串必須在指定位置iMid時(shí)才可以提取

                if(iMid == -1)

                {

                    (*this).Format("%s", Mid(Find(szSpec) + lstrlen(szSpec)));

                    break;

                }

                else if(iMid >= 0)

                {

                    if(Find(szSpec) == iMid)

                    {

                        (*this).Format("%s", Mid(iMid + lstrlen(szSpec)));

                        break;

                    }

                }

            }

        }

        else

        {

            if(!ar)

            {

                //未找到找到字符串

                if(pRow)

                {

                    *pRow = 0;

                }

                if(pCol)

                {

                    *pCol = 0;

                }

                (*this).Format("%s", "");

                break;

            }

        }

    } while(1);

 

    return *this;

}

其中CStrOP是我新建的類(lèi),函數(shù)聲明為

CStrOP& GetSpecifyString(LPCTSTR szSpec, CArchive *ar = NULL, BOOL bMid = TRUE, int iMid = 0, int* pRow = NULL, int* pCol = NULL);

這個(gè)函數(shù)能實(shí)現(xiàn)在指定文本格式的文件中進(jìn)行特定字符串的查找、提取、定位等工作,其中參數(shù)CArchive ar初始化為:

CFile file(cMyTxtFile,CFile::modeRead)

CArchive ar(&file, CArchive::load)

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
奇米精品一区二区三区在线观看一| av激情综合网| 欧美三区在线观看| 精一区二区三区| 精品视频一区二区不卡| 一区二区三区中文字幕电影| 成人性视频网站| 国产精品少妇自拍| 国产成人免费网站| 国产欧美精品日韩区二区麻豆天美| 国产精品亚洲午夜一区二区三区| 欧美精品一区二区三区视频| 久久国产剧场电影| 国产欧美日本一区视频| 成人av影院在线| 亚洲少妇中出一区| 在线影院国内精品| 婷婷开心久久网| 7777女厕盗摄久久久| 麻豆极品一区二区三区| 日韩欧美综合在线| 国产精品一区免费在线观看| 中文字幕一区在线观看| 91福利国产精品| 日韩中文字幕亚洲一区二区va在线| 555夜色666亚洲国产免| 国产一区二区三区高清播放| 国产精品网站在线播放| 色吊一区二区三区| 性做久久久久久久免费看| 日韩三级av在线播放| 国产在线精品免费| 亚洲激情图片qvod| 精品欧美乱码久久久久久1区2区| 国产乱一区二区| 亚洲欧美韩国综合色| 欧美午夜精品理论片a级按摩| 日韩国产欧美在线播放| 精品国产乱码久久久久久1区2区 | 久久天堂av综合合色蜜桃网| 99精品久久久久久| 日韩电影在线一区| 国产偷国产偷精品高清尤物| 日本伦理一区二区| 国产中文字幕精品| 亚洲精品国产一区二区三区四区在线| 欧美手机在线视频| 国产精品一二三在| 亚洲第一会所有码转帖| 国产欧美一区二区精品忘忧草| 色噜噜久久综合| 国产一区激情在线| 夜夜嗨av一区二区三区网页| 日韩一区二区高清| 色婷婷综合久久久中文一区二区| 日本视频在线一区| 成人欧美一区二区三区白人| 欧美一区二区三区不卡| 色av成人天堂桃色av| 国产真实乱偷精品视频免| 樱桃视频在线观看一区| 中文字幕精品一区二区精品绿巨人| 欧美视频自拍偷拍| 99精品欧美一区| 加勒比av一区二区| 性久久久久久久| 亚洲码国产岛国毛片在线| 欧美xingq一区二区| 欧美性一二三区| 成人听书哪个软件好| 欧美日韩一区三区四区| 成人精品在线视频观看| 久久福利视频一区二区| 亚洲成人精品一区| 一区二区三区精品| 亚洲欧洲av另类| 中文字幕不卡的av| 久久久国际精品| 日韩精品专区在线影院重磅| 欧美日韩成人在线一区| 在线观看av不卡| 色综合久久久久综合99| www.av亚洲| 成人动漫一区二区在线| 成人激情小说乱人伦| 国产成人自拍网| 国产精选一区二区三区| 狠狠色狠狠色综合| 韩国毛片一区二区三区| 奇米影视在线99精品| 午夜av电影一区| 婷婷夜色潮精品综合在线| 秋霞国产午夜精品免费视频| 午夜视频久久久久久| 亚洲一区在线观看视频| 亚洲精品免费电影| 亚洲成人免费在线观看| 日本欧美韩国一区三区| 美女www一区二区| 久久精品国产99国产| 九九热在线视频观看这里只有精品| 奇米888四色在线精品| 美女免费视频一区| 国产成人在线电影| av福利精品导航| 在线观看视频一区二区欧美日韩| 欧美日韩色一区| 91精品国产综合久久福利| 久久综合九色综合97_久久久| 日韩一区二区电影网| 国产拍揄自揄精品视频麻豆| 国产视频911| 最新欧美精品一区二区三区| 一区二区在线观看免费视频播放| 亚洲精品成人少妇| 亚洲成年人网站在线观看| 激情综合色综合久久综合| 国产福利91精品一区| 色屁屁一区二区| 欧美丰满一区二区免费视频| 精品国产sm最大网站免费看| 国产精品久久久久精k8| 亚洲午夜私人影院| 麻豆成人91精品二区三区| 国产美女视频91| 欧美亚洲图片小说| 日韩精品专区在线影院观看| 国产欧美精品区一区二区三区 | 欧美国产日韩一二三区| 亚洲免费三区一区二区| 青青草视频一区| 成人综合在线视频| 欧美日韩大陆一区二区| 国产人成亚洲第一网站在线播放| 亚洲影院在线观看| 国产麻豆视频精品| 91久久国产最好的精华液| 久久综合狠狠综合| 一区二区三区国产精华| 久久精品久久综合| 日本高清不卡aⅴ免费网站| 日韩欧美一区在线| 国产精品午夜在线| 麻豆精品视频在线观看视频| 成人app网站| 精品少妇一区二区三区免费观看| 国产精品久久久久久一区二区三区| 一区二区三区蜜桃| 激情综合色综合久久综合| 4hu四虎永久在线影院成人| 久久中文字幕电影| 亚洲午夜久久久久| av综合在线播放| 69av一区二区三区| |精品福利一区二区三区| 国产尤物一区二区| 欧洲av一区二区嗯嗯嗯啊| 亚洲国产精品av| 精品一区二区免费视频| 7777精品伊人久久久大香线蕉完整版 | 亚洲摸摸操操av| 国产成人在线视频网址| 欧美日韩你懂得| 专区另类欧美日韩| 国产一区二区伦理| 7777精品伊人久久久大香线蕉最新版| 中文字幕一区视频| 国产成人亚洲综合a∨猫咪| 3d动漫精品啪啪一区二区竹菊 | 国产精品人成在线观看免费 | 国产精品传媒入口麻豆| 国产在线视频不卡二| 欧美群妇大交群的观看方式| 中文字幕一区二区三区在线不卡 | 亚洲精选视频在线| 99久久免费精品高清特色大片| 欧美大白屁股肥臀xxxxxx| 青青草原综合久久大伊人精品 | 激情久久久久久久久久久久久久久久| 日韩欧美一区二区视频| 日韩av电影免费观看高清完整版在线观看| 色综合久久88色综合天天| 亚洲欧美电影一区二区| 成人av在线资源网站| 国产嫩草影院久久久久| 国产成人av一区| 国产视频视频一区| 国产成人一区在线| 国产精品网站一区| 成人亚洲精品久久久久软件| 国产日韩精品一区二区三区| 狠狠色丁香婷婷综合久久片| 欧美激情资源网| 成人黄色电影在线| 国产人妖乱国产精品人妖| 国产毛片精品国产一区二区三区| 久久久99精品久久| 成人蜜臀av电影| 亚洲久草在线视频| 欧美三级韩国三级日本一级|