MST

星途 面试题库

面试题:C++文件输入输出之格式化读写

在C++中,如何使用`fstream`对文件进行格式化输入输出?请举例说明如何从文件中读取一个整数、一个浮点数和一个字符串,并将格式化后的数据写入另一个文件。
34.0万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试

以下是使用fstream在C++中进行格式化输入输出的示例代码:

#include <iostream>
#include <fstream>
#include <string>

int main() {
    // 打开输入文件
    std::ifstream inputFile("input.txt");
    if (!inputFile) {
        std::cerr << "无法打开输入文件" << std::endl;
        return 1;
    }

    // 打开输出文件
    std::ofstream outputFile("output.txt");
    if (!outputFile) {
        std::cerr << "无法打开输出文件" << std::endl;
        inputFile.close();
        return 1;
    }

    int num;
    float f;
    std::string str;

    // 从输入文件读取数据
    inputFile >> num >> f;
    std::getline(inputFile, str); // 读取整行字符串,包括前面读取后留下的换行符
    std::getline(inputFile, str); 

    // 将格式化后的数据写入输出文件
    outputFile << "整数: " << num << std::endl;
    outputFile << "浮点数: " << f << std::endl;
    outputFile << "字符串: " << str << std::endl;

    // 关闭文件
    inputFile.close();
    outputFile.close();

    return 0;
}

代码说明

  1. 打开文件:使用std::ifstream打开输入文件,使用std::ofstream打开输出文件,并检查文件是否成功打开。
  2. 读取数据:使用>>操作符从输入文件中读取整数和浮点数。对于字符串,使用std::getline读取整行数据。
  3. 写入数据:使用<<操作符将格式化后的数据写入输出文件。
  4. 关闭文件:使用close()方法关闭输入和输出文件。

请确保在运行代码前,有一个名为input.txt的文件,并且文件内容格式如下:

10
3.14
Hello, World!

运行代码后,会生成一个名为output.txt的文件,内容如下:

整数: 10
浮点数: 3.14
字符串: Hello, World!