C ++ Builder程序没有运行(但如果我删除了file.close()行了!)

时间:2013-07-31 14:56:42

标签: c++ c++builder ifstream c++builder-xe

我正在开发自今年冬天以来的第一个游戏应用程序,现在我遇到了一个非常奇怪的问题。

使用Embarcadero C ++ Builder XE我的应用程序总是正常编译并运行,但今天它无法启动,但仍然编译成功!
我像往常一样按“运行”,看控制台输出“成功经过时间等”,然后 - 没有。我的应用程序窗口没有出现。

我发现问题出现在这段代码中:

ifstream file;
file.open(fileWithTextureProp, ios::binary);

int length;
char * buffer;
// get length of file:
file.seekg (0, ios::end);
length = file.tellg();
file.seekg (0, ios::beg);

// allocate memory:
buffer = new char [length+1];
buffer[length] = '\0';

// read data as a block:
file.read (buffer,length);

xml_document<> doc;
doc.parse<0>(buffer);

/*
 some xml parsing here, if I delete or comment this - nothing changes
   */

delete[] buffer;

file.close(); // NOTE: if I comment this line - program properly starts (!)

我做错了什么?

0 个答案:

没有答案