Maison  >  Article  >  développement back-end  >  Comment lire et écrire des fichiers binaires en C++ ?

Comment lire et écrire des fichiers binaires en C++ ?

WBOY
WBOYoriginal
2024-06-01 21:21:00629parcourir

Comment lire et écrire des fichiers binaires en C++ : Écrivez des fichiers binaires : utilisez la classe std::ofstream et définissez le mode de sortie sur std::ios::binary. Lire des fichiers binaires : utilisez la classe std::ifstream et définissez le mode d'entrée sur std::ios::binary.

Comment lire et écrire des fichiers binaires en C++ ?

Comment lire et écrire des fichiers binaires en C++

Les fichiers binaires sont un type de fichier spécial qui stocke des données non textuelles, telles que des images, de l'audio et des archives. Il existe deux opérations principales lorsque l’on travaille avec des fichiers binaires en C++ : la lecture et l’écriture.

Écrire des fichiers binaires

Utilisez la classe std::ofstream pour écrire des fichiers binaires. Lors de l'ouverture du fichier, spécifiez le mode de sortie comme mode binaire (std::ios::binary). std::ofstream 类来写入二进制文件。打开文件时,指定输出模式为二进制模式(std::ios::binary)。

// 打开文件以进行二进制写入
std::ofstream outFile("binaryFile.bin", std::ios::binary);

// 向文件写入二进制数据
outFile.write((char*) &data, sizeof(data));

// 关闭文件
outFile.close();

读取二进制文件

使用 std::ifstream

// 打开文件以进行二进制读取
std::ifstream inFile("binaryFile.bin", std::ios::binary);

// 从文件读取二进制数据
inFile.read((char*) &data, sizeof(data));

// 关闭文件
inFile.close();

Lire les fichiers binaires

Utilisez la classe std::ifstream pour lire les fichiers binaires. De même, spécifiez le mode binaire lors de l'ouverture du fichier.

#include <iostream>
#include <fstream>
#include <vector>

int main() {
  // 二进制图像文件
  std::string fileName = "image.bmp";

  // 打开图像文件以进行二进制读取
  std::ifstream inFile(fileName, std::ios::binary);

  // 检查文件是否打开
  if (!inFile.is_open()) {
    std::cerr << "无法打开文件 " << fileName << std::endl;
    return 1;
  }

  // 获取文件大小
  inFile.seekg(0, std::ios::end);
  size_t fileSize = inFile.tellg();
  inFile.seekg(0, std::ios::beg);

  // 读取图像数据
  std::vector<unsigned char> imageData(fileSize);
  inFile.read((char*) &imageData[0], fileSize);

  // 关闭文件
  inFile.close();

  // 在控制台中显示图像数据
  for (unsigned char pixel : imageData) {
    std::cout << (int)pixel << " ";
  }

  return 0;
}

Exemple pratique : lecture et affichage d'images

🎜🎜L'extrait de code suivant montre comment lire un fichier image en C++ et l'afficher dans la console : 🎜rrreee🎜Cela imprimera la valeur de chaque pixel du fichier image. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn