テキスト ファイルのサイズを示すコード スニペットを見つけました。
ifstream file("xmlfile.xml",ios::in);
//get size
file.seekg (0, ios::end);
int length = file.tellg();
file.seekg (0, ios::beg);
// allocate memory:
char* buffer = new char [length];
// read data as a block:
file.read (buffer,length);
file.close();
buffer[length-1] = '\0';
printf("%s",buffer);
問題は、私が読みたい小さなxmlファイルで、それを完全に読み取りますが、ファイル内のCRの数に等しいことがわかったので、最後に多くの「=」記号を残すことです。EOL を Unix に切り替えることで問題は解決しましたが、Windows EOL での印刷に問題があるのはなぜですか?
サンプル XML:
<?xml version="1.0"?>
<catalog>
(EOL)
そして、printf が出力するもの:
<?xml version="1.0"?>
<catalog>
══════