У меня есть следующий XML-файл:
<?xml version="1.0" ?>
<Hello>World</Hello>
Который находится в том же каталоге, что и все мои другие файлы.
И я использую этот метод исходного файла для его анализа:
void Character::assign_xml(const char * filename) //Assign xml takes the name of the xml file as a string, and uses it to parse the file's nodes.
{
TiXmlDocument * doc = new TiXmlDocument(filename);
bool loadOkay = doc->LoadFile(filename);
if (loadOkay)
{
printf("\n%s\n", filename);
}
else
{
printf("%s does not work.", filename);
}
delete doc;
}
Тем не менее, когда я передаю ей строку, моя переменная loadOkay становится ложной. Почему это?
Мой вывод выдает следующее:
Starting /home/holland/code/qt/chronos-build-desktop/chronos...
id01.xml does not work.Failed to open file/home/holland/code/qt/chronos-build-desktop/chronos exited with code 0
Где в качестве strace обеспечивает:
futex(0x84579c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("id01.xml", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb773e000
write(1, "id01.xml does not work.Failed to"..., 42id01.xml does not work.Failed to open file) = 42