2

我正在尝试将我的数组的每个元素输出到一个 .txt 文件中,但由于某种原因它甚至没有创建该文件。我的显示方法中有一个 cmd 输出和文件输出,它是从 main 调用的。cmd 输出工作完美,但是当我使用 ofstream 尝试创建文件并将数组的元素输出到它时,我没有看到创建任何文本文件。

ofstream ofs("TEST.txt");

if(!ofs)
    cout << "cannot use" << endl;
else
{
    for(int a=0; a < 12; a++)
    {
        for(int b=0; b < 12; b++)
        {

            cout << RandomArray[a][b] << "\t";
            ofs << RandomArray[a][b];
        }

        cout << "\n";
    }

}

ofs.close();
4

2 回答 2

6

试试这个

#include <iostream>
#include <fstream>

#ifdef _WIN32
#include <windows.h>
#define SYSERROR()  GetLastError()
#else
#include <errno.h>
#define SYSERROR()  errno
#endif

int main(int argc, char** argv)
{
    std::ofstream of("TEXT.TXT");
    if(of.is_open())
    {
        of<<"Some text here"<<std::endl;
        of.flush();
        of.close();
        std::cout<<"wrote the file successfully!"<<std::endl;
    }
    else
    {
        std::cerr<<"Failed to open file : "<<SYSERROR()<<std::endl;
        return -1;
    }
    return 0;
}

win32 GetLastError() #define 未经测试,因为我手边没有 Windows 框。errno 位有效。如果文件打开失败,这至少会告诉您错误是什么

于 2012-09-18T18:29:30.880 回答
4

您的程序没问题,只要ofstream可以创建它就应该可以工作。我认为您没有在正确的目录中查找。

于 2012-09-18T18:27:09.937 回答