我想通過stdio讀取RapidXML文件。我使用以下內容:如何通過stdio讀取正確的文件? C++
#include <iostream>
#include <rapidxml.hpp>
#include <stdio.h>
#include <Windows.h>
using namespace rapidxml;
int main(int argc, char** argv)
{
FILE *pFile;
pFile = fopen("D:\\ColladaFiles\\sample1.dae", "rb");
long lSize;
char *buffer;
size_t result;
//if error
if (pFile == NULL) { fputs("File error", stderr); exit(1); }
// obtain file size:
fseek(pFile, 0, SEEK_END);
lSize = ftell(pFile);
rewind(pFile);
// allocate memory to contain the whole file:
buffer = (char*)malloc(sizeof(char)*lSize);
if (buffer == NULL) { fputs("Memory error", stderr); exit(2); }
// copy the file into the buffer:
result = fread(buffer, 1, lSize, pFile);
if (result != lSize) { fputs("Reading error", stderr); exit(3); }
/* the whole file is now loaded in the memory buffer. */
xml_document<> xdoc;
xdoc.parse<0>(buffer);
system("pause");
return 0;
}
RapidXML生成錯誤。因爲如果我寫緩衝器下列內容:
std::cout << buffer << std::endl;
最後一行是包含以下內容: 如何快速讀取RapidXML文件?
這是一些fiiii的C++。 – ScarletAmaranth
@ScarletAmaranth你沒有得到備忘錄?諷刺在互聯網上不工作。特別是在沒有上下文的評論中。所以:拼寫出來:這是C,用C++編譯器編譯。 – sehe