关于ifsteam,ofsteam,fstream

问题涉及C++中的流类(stream classes)和文件操作,假设你已经创建了一个名为"example.txt"的文件。

1.iostream 

   iostream:这是一个带有输入和输出功能的流类。它同时继承了istream(输入流)和ostream(输出流)类的特性。

#include <iostream>

int main() {
   int num;
   std::cout << "Enter a number: ";
   std::cin >> num;  // 从控制台读取输入

   std::cout << "You entered: " << num << std::endl;  // 将数据输出到控制台

   return 0;
}

2.ifsream

   ifstream:该类用于从文件中读取数据。它是istream(输入流)类的派生类。使用ifstream时,你可以打开一个文件并从中读取数据

#include <iostream>
#include <fstream>

int main() {
   std::ifstream inputFile("example.txt"); // 打开名为example.txt的文件

   if (inputFile) {
       std::string line;
       while (std::getline(inputFile, line)) { // 使用getline逐行读取文件内容
           std::cout << line << std::endl;
       }
       inputFile.close(); // 关闭文件
   }

   return 0;
}

3.ofstream

   ofstream:该类用于向文件中写入数据。它是ostream(输出流)类的派生类。你可以使用ofstream打开一个文件并将数据写入其中。

#include <iostream>
#include <fstream>

int main() {
   std::ofstream outputFile("example.txt");  // 打开或创建一个名为example.txt的文件

   if (outputFile) {
       outputFile << "Hello, World!" << std::endl; // 向文件中写入数据
       outputFile << "This is an example." << std::endl;
       outputFile.close();  // 关闭文件
   }

   return 0;
}

4.fstream

   fstream:这是一个将输入和输出功能结合在一起的类。它同时继承了ifstream(用于读取操作)和ofstream(用于写入操作)类的特性。

#include <iostream>
#include <fstream>

int main() {
   std::fstream file("example.txt", std::ios::in | std::ios::out); // 打开一个名为example.txt的文件

   if (file) {
       std::string line;
       while (std::getline(file, line)) {  // 从文件中逐行读取内容
           std::cout << line << std::endl;
       }

       file.seekp(0, std::ios::end); // 将写入指针定位到文件末尾
       file << "New line added."; // 向文件末尾写入新内容
       file.close();  // 关闭文件
   }

   return 0;
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值