轉載]使用C++的fstream讀取有結構的字串和數值混排的文字檔

來源:互聯網
上載者:User

因為要經常接觸字串和數值混排的資料文字檔,所以,如何有效讀取這類檔案成了我頭痛的事,不過今日學習了日誌[1],找到的解決方案,編程讀寫執行個體如下。

要讀取的目標檔案dat.txt內容如下:

zzz 8 10.0 2.5 2.55

llz 10 20.2 3.9 4.96

讀寫方法編程如下:

#include <fstream>

#include <iostream>

using namespace std;

void main()

{

 ifstream fin;

 char name[20];

 int inum;

 float fnum[3];

 fin.open("dat.txt"); // 開啟要讀的檔案

 if (fin.good())   // 判斷是否成功開啟

 {

  while (!fin.eof())

  {

   fin >> name; // 讀取字串

   fin >> inum; // 讀取整數數值

   for(int i = 0; i < 3; i++)

   {

    fin >> fnum[i]; // 迴圈讀取浮點數

   }

   cout << name << ' ' << inum << ' ' << fnum[2] << endl; //顯示檢驗結果的正確性

  }

 }

 else 

 {

  cout << "File can't open" << endl;

 }

 fin.close(); // 關閉檔案

}

運行結果如下:

zzz 8 2.55

llz 10 4.96

Press any key to continue



本文引用地址:http://blog.sciencenet.cn/blog-481152-433178.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.