面试题答案
一键面试以下是使用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;
}
代码说明
- 打开文件:使用
std::ifstream
打开输入文件,使用std::ofstream
打开输出文件,并检查文件是否成功打开。 - 读取数据:使用
>>
操作符从输入文件中读取整数和浮点数。对于字符串,使用std::getline
读取整行数据。 - 写入数据:使用
<<
操作符将格式化后的数据写入输出文件。 - 关闭文件:使用
close()
方法关闭输入和输出文件。
请确保在运行代码前,有一个名为input.txt
的文件,并且文件内容格式如下:
10
3.14
Hello, World!
运行代码后,会生成一个名为output.txt
的文件,内容如下:
整数: 10
浮点数: 3.14
字符串: Hello, World!