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

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

WBOY
Libérer: 2024-06-01 21:21:00
original
726 Les gens l'ont consulté

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();
Copier après la connexion

读取二进制文件

使用 std::ifstream

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

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

// 关闭文件
inFile.close();
Copier après la connexion

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;
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal