Конструктор 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);
}
}