知道png图片地址用fstream创建文件并将数据写入到其中
时间: 2024-03-23 19:42:29 浏览: 118
mini-database.rar_c++数据写入txt_mini-database_数据写入 txt
可以使用`std::ifstream`来读取PNG图片的数据,然后使用`std::ofstream`将数据写入到指定的文件中。下面是一个示例代码:
```c++
#include <iostream>
#include <fstream>
#include <sstream>
int main() {
// 指定PNG图片地址
std::string png_file_name = "example.png";
// 读取PNG图片数据
std::ifstream png_file(png_file_name, std::ios::binary);
if (!png_file.is_open()) {
std::cout << "Failed to open PNG file." << std::endl;
return 1;
}
// 创建并打开新文件
std::string new_file_name = "new_file.png";
std::ofstream new_file(new_file_name, std::ios::binary);
if (!new_file.is_open()) {
std::cout << "Failed to create new file." << std::endl;
png_file.close();
return 1;
}
// 读取PNG图片数据并写入到新文件中
std::stringstream buffer;
buffer << png_file.rdbuf();
new_file << buffer.str();
// 关闭文件
png_file.close();
new_file.close();
std::cout << "Done." << std::endl;
return 0;
}
```
在这个例子中,我们首先使用`std::ifstream`打开指定的PNG图片文件,并使用`std::ios::binary`模式打开文件,以便正确读取二进制数据。然后,我们创建并打开一个新文件,并使用`std::ios::binary`模式打开文件,以便正确写入二进制数据。接着,我们使用`std::stringstream`读取PNG图片文件的数据,并将其写入到新文件中。最后,我们关闭文件并输出结果。
阅读全文