テキスト ファイルから最初の 121 バイトを構造体に読み込もうとしています。
これが私のコードです。
#include <fstream.h>
#include <iostream.h>
#include <conio.h>
#include <sys/stat.h>
int main()
{
struct
{
char map[121];
} map_data;
struct stat results;
fstream myfile("input.txt", ios::in);
myfile.read((char *)&map_data,121);
if(!myfile)
{
cout<<"Unable to open the file";
}
if(!myfile.read((char *)&map_data,121))
{
cout<<"Second error occurred";
}
myfile.close();
cout<<"\n Here are the read contents of size "<<sizeof(map_data)<<"\n";
fstream outfile("output.txt", ios::out);
for(int i=0;i<121;i++)
{
cout<<map_data.map[i]<<" ";
}
outfile.write((char *)&map_data,121);
outfile.close();
stat("input.txt",&results);
cout<<"\n Size of input.txt "<<results.st_size;
stat("output.txt",&results);
cout<<"\n Size of output.txt "<<results.st_size;
getch();
}
問題は、上記のコードがファイルの最初の文字、つまり hello の h をスキップすることです。その cout と output.txt ファイルの両方がこのことを示しています。
誰かがこれを解決する方法を教えてもらえますか?