0
void combination::OnButton2()
{
    // TODO: Add your control notification handler code here
    m_progress.SetPos(0);
    m_progress.SetRange(0,100);

    combination a;
    a.make_combinations(0);
}

void combination::make_combinations(int lo_val)
{
    srand(time(0));
    m_progress.StepIt();
    ofstream fout("combination.txt",ios::app);
    ofstream fout2("time.txt",ios::app);

    for(int i=0; i<theApp.no_of_process; i++)
    {
        //m_progress.OffsetPos(100/4);
        //m_progress.SetStep(200);
        clock_t begin = clock();
        arr[lo_val] = i;
        if (lo_val == (theApp.no_of_tasks)-1)
        {
            for (int j=0; j<theApp.no_of_tasks; j++)
            {
                int number = arr[j];
                fout << Matrix[j][number];
            }
            fout<<endl;
        }
        else
        {
            //Sleep(2);
            //make_combinations(lo_val+1);
            clock_t end = clock();
            theApp.combination_time[i][0] = (diffclock(end, begin))/1000;
            fout2 << theApp.combination_time[i][0] << endl;
        }
    }
}

そのボタンが再帰関数を呼び出しているボタンの背後にあるボタンを備えたmfcのダイアログがあります。同じダイアログに進行状況バーを配置して、再帰の進行状況を知らせてくれます。しかし、ボタンをクリックするとエラーが発生します。デバッグ アサーションが失敗しました。プログラムがアサーション エラーを引き起こしました。私のコードの何が問題なのかわかりません。助けてください!!

問題 2: MFC でこのプロジェクトを作成しています。ブルートフォース機能が含まれています。ファイル処理も含まれています!! 別のポイントで立ち往生しています!ファイル書き込みのあるファイルがいくつかあります!私のプロジェクトには複数のファイル .txt 形式があります! メインの MFC ボードに、書き込まれたファイルを参照するためのオプションを追加したいと考えています。書かれている形式で開く必要があります。どのようにそれを行うことができますか?? ブラウジングメニューのように!ヘルプ??

4

1 に答える 1

0

このアサーションは、コントロールがダイアログに存在しないか、変数m_progressがコントロールにサブクラス化されていないことが原因である可能性があります。関数に DDX_Control エントリがあることを確認してm_progressくださいDoDataExchange

于 2012-04-27T16:00:21.743 に答える