ЕТ
Елена Тупикина

[C++ Error] E2085 Invalid pointer addition

необходимо прочитать из файла числа и найти среднее. т к файлов много, номура у них от 1 и до 10 предположим. необходимо поочередно их открыть. пробую сделать вот так f=fopen(itoa(i, b, 10)+".txt", "rt"); он пишет, что [C++ Error] Unit1.cpp(42): E2085 Invalid pointer addition и ругается на "+". пишу в билдере

AK
Alexandra Kuznecova

Пытаешься сложить два указателя: указатель, который вернула функция itoa() и указатель на ".txt".
Указатели складывать нельзя.

char b[10];
sprintf(b, "%d.txt", i);
f = fopen(b, "rt");

Если нет особых причин пользоваться функциями стандартной библиотеки Си, лучше использовать стандартные классы:

#include
#include
#include

using namespace std;

int main() {
int i = 5;
ostringstream oss;
oss << i << ".txt";
ifstream in(oss.str().c_str());
for (char c; in.get(c); cout << c) ;
}

Похожие вопросы
Вопрос по Delphi Преобразование переменной TCaption в Pointer
Когда устанавливаю steam на windows 8 пишет : Error 1327. Invalid drive Z:\. Invalid drive Z:\
ERROR: texture file 'vgui/resource/icon_play_once' does not exist or is invalid
при установке steam ошибка "Error 1327 invalid D:\
Visual Basic выдаёт (run time error '5' invalid procedure call or argument) при вводе отрицательного значения
error 1324. the folder path "C:" contains an invalid character. Что делать? Помогите пожалуйста!
помогите пожайлусто не могу устоновить Steam пишит Error 1324. The folder path C contains invalid character
error 97 invalid for control
visual c error C2099: инициализатор не является константой
[C++] Не отправляет файлы на FTP. Выдает ERROR!