在C++編程中,我們使用iostream
標(biāo)準(zhǔn)庫(kù),它提供了cin
和cout
方法,分別從輸入和輸出讀取流。
要從文件讀取和寫(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ě)入信息到文件。 |
下面來(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.
下面來(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.
下面來(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