1

コードを絞り込んで、問題の原因を見つけました。それは、ファイルを開くときです。ファイルは存在し、コンパイル時に警告やエラーは発生しません。

int main(int argc, const char* args[]) 
{
    cout << "Wellcome" << endl;
    cout << args[1];
    ifstream exists(args[1]);
    if(!exists)
    {
        printf("FILE NOT FOUND");
        return 1;
    }
    exists.close();
    ifstream* in;
    in->open(args[1],ios::binary|ios::in);
    //do stuff
    in->close();
    return 0;
}
4

1 に答える 1

2

オブジェクトへのポインタを作成しましたが、それが指すために をifstream割り当てていませんifstream。これを修正するには、スタック割り当てのみを検討してください。

ifstream in;
in.open(args[1],ios::binary|ios::in);
//do stuff
in.close();

一般に、オブジェクトを作成した関数よりも長く存続させたい場合を除き、オブジェクトを動的に割り当てる必要は通常ありません。

お役に立てれば!

于 2012-06-14T19:00:58.567 に答える