> 백엔드 개발 > C++ > 본문

C++를 사용하여 바이너리 파일을 읽고 쓰는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-06-01 21:21:00
원래의
698명이 탐색했습니다.

C++에서 바이너리 파일을 읽고 쓰는 방법: 바이너리 파일 쓰기: std::ofstream 클래스를 사용하고 출력 모드를 std::ios::binary로 설정합니다. 바이너리 파일 읽기: std::ifstream 클래스를 사용하고 입력 모드를 std::ios::binary로 설정합니다.

C++를 사용하여 바이너리 파일을 읽고 쓰는 방법은 무엇입니까?

C++에서 바이너리 파일을 읽고 쓰는 방법

바이너리 파일은 이미지, 오디오, 아카이브 등 텍스트가 아닌 데이터를 저장하는 특수 파일 형식입니다. C++에서 바이너리 파일을 작업할 때 읽기와 쓰기라는 두 가지 주요 작업이 있습니다.

바이너리 파일 쓰기

바이너리 파일을 작성하려면 std::ofstream 클래스를 사용하세요. 파일을 열 때 출력 모드를 바이너리 모드(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();
로그인 후 복사

바이너리 파일 읽기

바이너리 파일을 읽으려면 std::ifstream 클래스를 사용하세요. 마찬가지로 파일을 열 때 바이너리 모드를 지정하십시오.

#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;
}
로그인 후 복사

실용 예: 이미지 읽기 및 표시

🎜🎜다음 코드 조각은 C++에서 이미지 파일을 읽고 콘솔에 표시하는 방법을 보여줍니다. 🎜rrreee🎜이렇게 하면 이미지 파일의 각 픽셀 값이 인쇄됩니다. 🎜

위 내용은 C++를 사용하여 바이너리 파일을 읽고 쓰는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿