2

配列のすべての要素を .txt ファイルに出力しようとしていますが、何らかの理由でファイルが作成されません。メインから呼び出される表示メソッドに、cmd 出力とファイル出力の両方があります。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 に答える