【发布时间】:2012-06-11 17:03:13
【问题描述】:
我找到了一个给出文本文件大小的 sn-p 代码:
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>
══════
【问题讨论】: