c++二进制文件读写
时间: 2023-07-23 13:20:07 浏览: 142
在C++中,我们可以使用文件流来读写二进制文件。以下是一个简单的示例:
写入二进制文件:
```c++
#include <iostream>
#include <fstream>
int main() {
std::ofstream outfile("data.bin", std::ios::binary);
if (outfile.is_open()) {
int number = 10;
outfile.write(reinterpret_cast<const char*>(&number), sizeof(number));
outfile.close();
} else {
std::cerr << "Unable to open file for writing" << std::endl;
}
return 0;
}
```
首先,我们使用`std::ofstream`来打开一个文件,指定文件名和打开方式`std::ios::binary`。然后,我们使用`write()`函数来写入一个整数。`reinterpret_cast`用于将整数指针强制转换为字符指针,以便在文件中将其写入为字节。最后,我们关闭文件。
读取二进制文件:
```c++
#include <iostream>
#include <fstream>
int main() {
std::ifstream infile("data.bin", std::ios::binary);
if (infile.is_open()) {
int number;
infile.read(reinterpret_cast<char*>(&number), sizeof(number));
std::cout << "Number: " << number << std::endl;
infile.close();
} else {
std::cerr << "Unable to open file for reading" << std::endl;
}
return 0;
}
```
我们使用`std::ifstream`打开文件,指定文件名和打开方式`std::ios::binary`。然后,我们使用`read()`函数来读取整数。`reinterpret_cast`用于将字符指针强制转换为整数指针,以便从文件中读取字节并将其转换为整数。最后,我们关闭文件并输出读取的整数。
需要注意的是,在读写二进制文件时,我们需要注意数据的字节顺序(大端序或小端序),以免在不同的平台上出现问题。
阅读全文