私の最初の投稿は、私ができる限り最高のガイドラインに従います!C++の新しいファイルにBytes/Bitsを読み書きするには
基本的に、バイナリレベルでファイルを編集する方法を作ろうとしています。私はバイトを読み込む方法がありますが(不幸にも大きなフォーマットではありませんが)、バイトを新しいファイルに書き込む方法については固執しています。私は、16進数にバイトを変換して、そのようにファイルを書くことができると思ったが、その別のステップIDは回避するのが好きです。あなたが提案できるファイルにバイトを書き込む方法はありますか?また可能であれば、5GBのような大きなフォーマットで書くことができます。ここで
はバイトに任意のファイルを変換するため使用してコードイムです:
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
//Variables
const unsigned long long size = 64ULL * 1024ULL * 1024ULL;
unsigned long long file[size];
class ByteManager
{
char const* input;
public:
void set_values(char const*);
char* ConvertToBytes()
{
ifstream streamData(input);
streamData.seekg(0, ios::end);
size_t len = streamData.tellg();
char* Bytes = new char[len];
streamData.seekg(0, ios::beg);
streamData.read(Bytes, len);
streamData.close();
return Bytes;
//return 0;
}
};
void ByteManager::set_values(char const* a)
{
input = a;
};
注:私はそれが実際にダウンして行くための最善の方法である場合には、六角クラスを投稿することができます。
提出されたアドバイス/フィードバック/コードもありがとうございます! 〜nobodyshomeは
小さいバッファで作業し、ファイルをまとまりで処理してください。 –
@πάνταῥεῖどのように私はこれらのオプションのいずれかを行うだろうか?それらについてもっと知るためにどこに行くことができますか? – nobodyshome