C++ 关闭文件后,我无法访问它

C++ 关闭文件后,我无法访问它,c++,file-io,fopen,fwrite,fclose,C++,File Io,Fopen,Fwrite,Fclose,我在多线程程序中使用以下代码: class A{ public: FILE *File; bool ThFunc(){ if (CreateDataFile()) std::cout << "File was created\n"; else{ std::cout << "Can't create file\n"; return false;

我在多线程程序中使用以下代码:

class A{
public:
    FILE *File;
    bool ThFunc(){
        if (CreateDataFile())
            std::cout << "File was created\n";
        else{
            std::cout << "Can't create file\n";
            return false;
        }

        //work with file

        if (CloseDataFile()){
            std::cout << "File was closed\n";
            return true;
        }
        else{ 
            std::cout << "Can't close file\n";
            return false;
        };
    };

    bool CreateDataFile(){
        File = fopen ("binary_file.bin", "wb");
        if (File!=NULL)
            return true;
        else
            return false;
    };

    bool CloseDataFile(){
        int t=fclose(File);
        if (t!=0)
            return false;
        else{
            //insert the file name in another thread
            return true;
        }
    }
};
A类{
公众:
文件*文件;
bool ThFunc(){
if(CreateDataFile())

std::cout看起来像一个踩踏问题。这样的问题并不少见。你能修复缩进吗。哦,然后发布真实代码。-1不是真实代码。你应该刷新
std::cout
。可能还有其他记录的活动尚未发送到控制台。这是从真实代码中剪切出来的。原始的~700行。另一个线程无法写入是消息。@n1k:您发布的代码无效,因此它绝对不是从真实的可编译代码中截取的。