ifstream fp;
fp.open(path, ios::in | ios::binary); //path is the path of the DICOM file I want to read
fstream output;
output.open("C:\\Users\\Z00\\dump.txt", ios::in | ios::out | ios::trunc | ios::binary);
if (fp.is_open())
{
while (getline(fp, rbuffer))
output << rbuffer;
fp.close();
}
我用上面的代碼以二進制模式從DICOM文件讀取到txt文件。如何訪問文件的二進制數據?
現在,如果我使用記事本或任何其他文檔查看器打開文本文件,它將顯示與打開DICOM文件時十六進制編輯器顯示的內容完全相同的內容。
現在我要處理的文本文檔內的數據。所以我嘗試將文本文件的內容打印到控制檯中,但它會打印完整的亂碼。
爲什麼?
,我應該如何去了解,如果我想訪問和操縱二進制數據?
二進制數據不是文本。它可以包含*文本,但本身不包含文本。因此,您不能使用文本函數來處理數據。 –
@Someprogrammerdude,我知道。我的主要問題是爲什麼我能夠通過記事本閱讀它,但不能通過C++程序以相同的方式閱讀? –
.txt文件專門格式化爲ASCII,二進制文件可以是任何格式。 – iyop45