鍍金池/ 教程/ C++/ C++文件和流
C++用戶定義異常
C++ this指針
C++存儲(chǔ)類(lèi)
C++函數(shù)
C++交換變量值
C++ continue語(yǔ)句
C++注釋
C++函數(shù)遞歸
C++ goto語(yǔ)句
C++函數(shù)-通過(guò)值調(diào)用和引用調(diào)用
C++重載
C++語(yǔ)言歷史
C++反轉(zhuǎn)數(shù)字
C++ try/catch語(yǔ)句
C++是什么?
C++變量
C++ break語(yǔ)句
C++運(yùn)算符
C++第一個(gè)程序
C++繼承
C++虛函數(shù)
C++將十進(jìn)制轉(zhuǎn)換為二進(jìn)制
C++矩陣乘法
C++對(duì)象和類(lèi)
C++基礎(chǔ)輸入輸出(cin,cout,endl)
C++文件和流
C++求素?cái)?shù)
C++ if/else語(yǔ)句
C++友元函數(shù)
C++命名空間
C++面向?qū)ο蟾拍?/span>
C++階乘
C++關(guān)鍵字
C++重載
C++聚合
C++結(jié)構(gòu)體
C++的特點(diǎn)(特性)
C++打印字母表三角
C++ switch語(yǔ)句
C++多態(tài)
C++ do-while循環(huán)
C++字符串
C++ static關(guān)鍵字
C++錯(cuò)誤處理
C++ for循環(huán)
C語(yǔ)言與C++的區(qū)別
C++ while循環(huán)
C++開(kāi)發(fā)環(huán)境的安裝
linux環(huán)境下編譯C++ 程序
C++枚舉
C++指針
C++斐波納契數(shù)列
C++阿姆斯壯數(shù)字
C++接口
C++教程
C++數(shù)組
C++數(shù)據(jù)抽象
C++回文程序?qū)嵗?/span>
C++打印數(shù)字三角
C++將數(shù)組傳遞到函數(shù)
C++多維數(shù)組
C++將數(shù)字轉(zhuǎn)換字符

C++文件和流

在C++編程中,我們使用iostream標(biāo)準(zhǔn)庫(kù),它提供了cincout方法,分別從輸入和輸出讀取流。

要從文件讀取和寫(xiě)入,我們使用名稱(chēng)為fstream的標(biāo)準(zhǔn)C++庫(kù)。 下面來(lái)看看看在fstream庫(kù)中定義的數(shù)據(jù)類(lèi)型是:

數(shù)據(jù)類(lèi)型 描述
fstream 它用于創(chuàng)建文件,向文件寫(xiě)入信息以及從文件讀取信息。
ifstream 它用于從文件讀取信息。
ofstream 它用于創(chuàng)建文件以及寫(xiě)入信息到文件。

C++ FileStream示例:寫(xiě)入文件

下面來(lái)看看看使用C++ FileStream編程寫(xiě)一個(gè)定稿文本文件:testout.txt的簡(jiǎn)單例子。

#include <iostream>  
#include <fstream>  
using namespace std;  
int main () {  
  ofstream filestream("testout.txt");  
  if (filestream.is_open())  
  {  
    filestream << "Welcome to javaTpoint.\n";  
    filestream << "C++ Tutorial.\n";  
    filestream.close();  
  }  
  else cout <<"File opening is fail.";  
  return 0;  
}

執(zhí)行上面代碼,輸出結(jié)果如下 -

The content of a text file testout.txt is set with the data:
Welcome to javaTpoint.
C++ Tutorial.

C++ FileStream示例:從文件讀取

下面來(lái)看看看使用C++ FileStream編程從文本文件testout.txt中讀取的簡(jiǎn)單示例。

#include <iostream>  
#include <fstream>  
using namespace std;  
int main () {  
  string srg;  
  ifstream filestream("testout.txt");  
  if (filestream.is_open())  
  {  
    while ( getline (filestream,srg) )  
    {  
      cout << srg <<endl;  
    }  
    filestream.close();  
  }  
  else {  
      cout << "File opening is fail."<<endl;   
    }  
  return 0;  
}

注意:在運(yùn)行代碼之前,需要?jiǎng)?chuàng)建一個(gè)名為“testout.txt”的文本文件,并且文本文件的內(nèi)容如下所示:

Welcome to Yiibai.com.
C++ Tutorial.

執(zhí)行上面代碼輸出結(jié)果如下 -

Welcome to Yiibai.com.
C++ Tutorial.

C++讀寫(xiě)示例

下面來(lái)看看一個(gè)簡(jiǎn)單的例子,將數(shù)據(jù)寫(xiě)入文本文件:testout.txt,然后使用C++ FileStream編程從文件中讀取數(shù)據(jù)。

#include <fstream>  
#include <iostream>  
using namespace std;  
int main () {  
   char input[75];  
   ofstream os;  
   os.open("testout.txt");  
   cout <<"Writing to a text file:" << endl;  
   cout << "Please Enter your name: ";   
   cin.getline(input, 100);  
   os << input << endl;  
   cout << "Please Enter your age: ";   
   cin >> input;  
   cin.ignore();  
   os << input << endl;  
   os.close();  
   ifstream is;   
   string line;  
   is.open("testout.txt");   
   cout << "Reading from a text file:" << endl;   
   while (getline (is,line))  
   {  
   cout << line << endl;  
   }      
   is.close();  
   return 0;  
}

執(zhí)行上面代碼,得到以下結(jié)果 -

Writing to a text file:  
 Please Enter your name: Nber su
Please Enter your age: 27
 Reading from a text file:   Nber su
27