C++ 文件和流

C++ 文件和流

C++编程中,我们使用的是 iostream 标准库,它提供了 cincout 方法分别用于从输入读取和写入输出。

为了从文件中读取和写入数据,我们使用的是标准C++库 fstream 。让我们看看在fstream库中定义的数据类型有哪些:

数据类型 描述
fstream 用于创建文件、向文件写入信息和从文件读取信息。
ifstream 用于从文件中读取信息。
ofstream 用于创建文件并向文件写入信息。

C++ FileStream示例:写入文件

让我们来看一个简单的示例,将数据写入一个名为 testout.txt 的文本文件中,使用C++ FileStream编程。

#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;
}

输出:

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

C++ FileStream示例:从文件中读取

让我们看一个简单的示例,从文本文件 testout.txt 中使用C++ FileStream编程进行读取。

#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;
}

注意:在运行代码之前,需要创建一个名为 “testout.txt” 的文本文件,文件内容如下: 欢迎来到javaTpoint。 C++教程。

输出:

Welcome to javaTpoint.
C++ Tutorial.

C++读写示例

让我们看一个简单的示例,将数据写入文本文件 testout.txt 然后使用C++ FileStream编程从文件中读取数据。

#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;
}

输出:

Writing to a text file:  
 Please Enter your name: Nakul Jain    
Please Enter your age: 22  
 Reading from a text file:   Nakul Jain  
 22

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程