Конструктор CFileDialog не может обнаружить TRUE и ошибку fopen(str,"r")

Я звоню CFileDialog конструктор в следующем методе:

CFileDialog FileDlg(TRUE, ".txt", NULL, 0, strFilter);

в соответствии с параметрами в CFileDialog конструктор, первый параметр должен быть BOOL, но мой компилятор считает, что это int вместо BOOL, Ты можешь сказать мне, почему?

Кроме того, в коде, когда я использую fopen(str,"r"), ошибка не является функцией преобразования из CSring to const char*, Ценю ваше обсуждение.

Код является:

void OnFileOpen()
{
    CClientDC dc(this);
    CString str;
    CRect rc;
    FILE *ifp;
    char strFilter[] = { "TXT Files (*.txt)|*.txt|All Files(*.*)|*.*||" };
    CFileDialog FileDlg(TRUE, ".txt", NULL, 0, strFilter);
    if (FileDlg.DoModal() == IDOK)
    {
        str = FileDlg.GetFileName();
        ifp = fopen(str,"r");
        dc.TextOutW(350, 50, "File Opened: " + str);
        for (int i = 1; i < n; i++)
        {
            fscanf(ifp, "%d %d", &pt[i].x, &pt[i].y);
            rc = CRect(pt[i].x - 30, pt[i].y - 30, pt[i].x + 30, pt[i].y + 30);
            dc.Ellipse(rc);
            rc = CRect(pt[i].x - 1, pt[i].y - 1, pt[i].x + 1, pt[i].y + 1);
            dc.Rectangle(rc);
        }
        fclose(ifp);
    }
}

0 ответов

Другие вопросы по тегам