ファイルから特定の位置にある 4 文字を読み取ろうとしています。コードは単純ですが、結果は非常に紛らわしいものです。
fstream dicomFile;
dicomFile.open(argv[1]);
dicomFile.seekg(128,ios::beg);
char * memblock = new char [4];
dicomFile.read(memblock,4);
cout<<"header is "<<memblock<<endl;
理想的には結果は「DICM」である必要がありますが、コンソールからの実際の結果は、図に示すように「DICM」に加えて奇妙な文字でした。さらに、実行するたびに文字が異なります。これは ASCII と Unicode に関するものかもしれません。プロジェクト プロパティを Unicode からマルチバイトに変更してから元に戻そうとしましたが、違いはありませんでした。
ここで何が起こっているのか、どうすれば解決できるのか知っている人はいますか? どうもありがとう!