编写一个C++程序,将从键盘输入的一个整数,一个双精度数和一个字符串写到磁盘文件data.dat中
时间: 2024-12-28 20:35:12 浏览: 3
在C++中,你可以使用fstream库来操作文件。下面是一个简单的示例程序,它会从键盘读取整数、双精度数和字符串,并将其写入"data.dat"文件中:
```cpp
#include <iostream>
#include <fstream>
#include <string>
int main() {
// 创建ofstream对象,用于写入数据
std::ofstream file("data.dat", std::ios::binary);
// 检查文件是否成功打开
if (!file.is_open()) {
std::cerr << "Error opening file!" << std::endl;
return 1;
}
// 从键盘输入数据并写入文件
int integer;
double double_num;
std::string string_data;
std::cout << "Enter an integer: ";
std::cin >> integer;
file.write(reinterpret_cast<char*>(&integer), sizeof(integer)); // 写入整数
std::cout << "Enter a double number: ";
std::cin >> double_num;
file.write(reinterpret_cast<char*>(&double_num), sizeof(double_num)); // 写入双精度数
std::cout << "Enter a string: ";
std::getline(std::cin, string_data);
file.write(string_data.c_str(), string_data.size()); // 写入字符串,注意这里是字符数组不是std::string
// 关闭文件
file.close();
std::cout << "Data written to data.dat successfully.\n";
return 0;
}
```
在这个程序中,我们使用了`reinterpret_cast<char*>`来转换内存地址,以便于二进制写入。`sizeof()`函数用于获取变量的字节大小。
阅读全文