線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2920
推到 Plurk!
推到 Facebook!

如何開啟一個txt檔案,把裡面的資料一行一行的讀進來?

尚未結案
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-06-24 08:22:01 IP:140.124.xxx.xxx 未訂閱
如何開啟一個txt檔案,把裡面的資料一行一行的讀進來?(一次讀一行哦) ps:對於檔案的讀取的操作不懂,是否有相關資料可以研讀~請大家介紹一下~ 感謝大家哦~
anpino
版主


發表:31
回覆:477
積分:231
註冊:2003-01-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-06-24 08:33:38 IP:211.23.xxx.xxx 未訂閱
詳見msdn中有關 fopen fread,fclose 等讀檔指令的說明。 msdn都有example可參考。 ------------------------------- 數學系是內功很強(邏輯/分析) 資工系是招式很多(程式技巧) 就像令狐沖
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-06-24 12:05:43 IP:61.66.xxx.xxx 未訂閱
讀檔可以用StringList來做  
        TStringList *slFile=new TStringList;
   slFile->LoadFromFile("Test.txt");       for(int i=0; iCount; i  ) 
   {
         ShowMessage(slFile->Strings[i]); //slFile->Strings[0]是指第一行
   }
   delete slFile;        
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-06-24 12:39:01 IP:140.113.xxx.xxx 未訂閱
引言: 如何開啟一個txt檔案,把裡面的資料一行一行的讀進來?(一次讀一行哦) ps:對於檔案的讀取的操作不懂,是否有相關資料可以研讀~請大家介紹一下~ 感謝大家哦~
黑輪兄你好: 若你只是要用簡單的C/C 做檔案I/O,那看看anpino板主提的那些應該就夠了 怕看不懂英文網頁的話可以去查查書,每一本講C/C 的應該都有提到一些。 若你是要用BCB裡的元件來做的話,個人習慣是用StringList配合Memo來做
看你的描述,你應該是要讀進一個檔案然後秀到Memo或是做其他處理吧~ 那你可以參考看看以下的程式碼
void __fastcall TForm1::btnSelectFileClick(TObject *Sender)
{
    if( OpenDialog1->Execute() )
    {
        TStringList *sl = new TStringList;
        sl->LoadFromFile(OpenDialog1->FileName);            for(int i = 0; i < sl->Count; i  )
        {
            // 對 sl->Strings[i] 做處理
        }            memoInput->Lines->AddStrings(sl); // 把處理完的整份文件加到memo裡秀出來
        delete sl;
    }
}
為什麼要先加到StringList再加到Memo呢? 因為StringList有許多不錯的功能,如 自動排序,移除重複字串 之類 讀取大檔案時,速度比Memo來得快了些。 建議你可以查查看 TStringList 檔案 這些關鍵字 -- chtai
------
My Web: http://nelson.csie.us
My Blog: http://blog.nelson.csie.us
andychang1690
資深會員


發表:20
回覆:694
積分:442
註冊:2003-03-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-06-24 16:37:18 IP:218.247.xxx.xxx 未訂閱
FILE *file1;  // 文字檔案 結束時請delete file1;
if (OpenDialog1->Execute())
        file1=fopen(OpenDialog1->FileName.c_str(),"r");
else
        return ;
        
char msg[254];
AnsiString Msg;            fseek(file1, 0, SEEK_SET);
while (!feof(file1))
{
  StrPCopy(msg,'\0');
  fgets(msg, 254, file1);
  Msg=msg;  // 這是你要的
  .
  .
  .
  .
}            if (fclose(file1))
    fclose(file1);
請參考 Andy Chang 發表人 - taishyang 於 2004/06/24 16:51:32
------
Andy Chang
nlj859
資深會員


發表:139
回覆:375
積分:322
註冊:2004-03-20

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-07-07 12:15:33 IP:219.81.xxx.xxx 未訂閱
hello 黑輪,    不曉得底下程式碼不曉得有合乎你的需求. PS.請先準備一個文字檔及在視窗內拉一個ListBox.
#include 
 char buff[81];          ifstream infile("TextFile.txt");
      while (!infile.eof())
      {
       infile.getline(buff,sizeof(buff));
       ListBox1->Items->Add(buff);
      }
      infile.close();
發表人 - nlj859 於 2004/07/07 12:18:14
Stupidman is me
一般會員


發表:4
回覆:7
積分:2
註冊:2004-07-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-07-29 23:24:21 IP:220.137.xxx.xxx 未訂閱
我有頭緒了 謝謝
黑輪
中階會員


發表:135
回覆:188
積分:64
註冊:2004-01-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-08-04 23:58:16 IP:61.228.xxx.xxx 未訂閱
我用TStringList來做~我覺得這比較簡單~~ 感謝大家的熱心幫忙哦~
系統時間:2024-12-04 17:08:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!