FILE *RecFiles = new FILE[NoOfFiles];
if((RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
и на него ругается fopen что ему надо FILE а не FILE*
вот так естественно тоже не срабатывает
if((&RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
Зачем мне это все надо
Хочу задавать произвольное количество файлов
24.06.03 04:41: Перенесено модератором из 'WIN API' — вопрос по С++ (вроде) — H_D
Здравствуйте, Voland_SZ, Вы писали:
V_S>FILE *RecFiles = new FILE[NoOfFiles];
V_S>if((RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
V_S>и на него ругается fopen что ему надо FILE а не FILE*
V_S>вот так естественно тоже не срабатывает
V_S>if((&RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
V_S>Зачем мне это все надо
V_S>Хочу задавать произвольное количество файлов
Не нужно выделять место под FILE, это забота библиотеки. fopen возвращает указатель на уже созданный FILE :
FILE **RecFiles = new (FILE*)[NoOfFiles];
if((RecFiles[i] = fopen(FullName,"w+"))==NULL)
MessageBox(NULL,"ERROR","ERROR",MB_OK);
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Здравствуйте, folk, Вы писали:
F>Здравствуйте, Voland_SZ, Вы писали:
V_S>>FILE *RecFiles = new FILE[NoOfFiles];
V_S>>if((RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
V_S>>и на него ругается fopen что ему надо FILE а не FILE*
V_S>>вот так естественно тоже не срабатывает
V_S>>if((&RecFiles[i] = fopen(FullName,"w+"))==NULL) MessageBox(NULL,"ERROR","ERROR",MB_OK);
V_S>>Зачем мне это все надо
V_S>>Хочу задавать произвольное количество файлов
F>Не нужно выделять место под FILE, это забота библиотеки. fopen возвращает указатель на уже созданный FILE :
F>F>FILE **RecFiles = new (FILE*)[NoOfFiles];
F>if((RecFiles[i] = fopen(FullName,"w+"))==NULL)
F> MessageBox(NULL,"ERROR","ERROR",MB_OK);
F>
Спасибо большое, но можно еще вопрос
а что означает определение переменной с **
одна это указатель, а две это что?
Здравствуйте, Voland_SZ, Вы писали:
F>>F>>FILE **RecFiles = new (FILE*)[NoOfFiles];
F>>if((RecFiles[i] = fopen(FullName,"w+"))==NULL)
F>> MessageBox(NULL,"ERROR","ERROR",MB_OK);
F>>
V_S>Спасибо большое, но можно еще вопрос
V_S>а что означает определение переменной с **
V_S>одна это указатель, а две это что?
FILE* — указатель на FILE
FILE** — указатель на указатель на FILE
и т.д.
В этом случае мы создаем массив с элементами типа FILE*, а указатель на этот массив (или на любой элемент массива) имеет тип FILE** .
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
Здравствуйте, folk, Вы писали:
F>Здравствуйте, Voland_SZ, Вы писали:
F>>>F>>>FILE **RecFiles = new (FILE*)[NoOfFiles];
F>>>if((RecFiles[i] = fopen(FullName,"w+"))==NULL)
F>>> MessageBox(NULL,"ERROR","ERROR",MB_OK);
F>>>
V_S>>Спасибо большое, но можно еще вопрос
V_S>>а что означает определение переменной с **
V_S>>одна это указатель, а две это что?
F>FILE* — указатель на FILE
F>FILE** — указатель на указатель на FILE
F>и т.д.
F>В этом случае мы создаем массив с элементами типа FILE*, а указатель на этот массив (или на любой элемент массива) имеет тип FILE**
Спасибо.