バイナリファイルから新しいchar配列にデータを正しく書き込む方法はありますか。 私はこの質問がここで何度か尋ねられたことを知っていますが、それでもそれを正しく行う方法を理解できませんでした。バイナリファイルからchar配列にデータを正しく読み込む方法
私はこれまで..
struct Computer_Details {
char computer_type[99];
int release_year;
float price;
};
Computer_Details pc_details;
cout << "Enter Computer Type: ";
cin.getline(pc_details.computer_type, 255);
cout << "Enter Computer Release Date: ";
cin >> pc_details.release_year;
cout << "Enter Computer Price: ";
cin >> pc_details.price;
cout << "\n\n";
//Create File
ofstream file;
file.open("PC_Database.data", ios::binary | ios::app);
if (!file) cout << "Couldn't open file\n";
else {
file.write((char*)&pc_details, sizeof(Computer_Details));
file.close();
}
ifstream readFile;
readFile.open("PC_Database.data", ios::binary);
if (!readFile) cout << "Couldn't Open File\n";
else {
readFile.seekg(0, ios::end);
int fileSize = readFile.tellg();
int pcCount = fileSize/sizeof(Computer_Details);
readFile.seekg(0, ios::beg);
Computer_Details *pc_details = new Computer_Details[pcCount];
readFile.read((char*)pc_details, pcCount * sizeof(Computer_Details));
char *buff = new char[299];
for (int i = 0; i < pcCount; i++)
{
//write to buff char
}
readFile.close();
}
['strcpy'](http://en.cppreference.com/w/cpp/string/byte/strcpy)を使用することができます。 –
[バイナリファイルをC++のchar配列に読み込む]の重複が考えられます(http://stackoverflow.com/questions/33935567/reading-binary-file-into-char-array-in-c) – didiz
この回答は役に立ちませんでした。 – Andrew