Так что у меня это странное «недопустимый указатель NULL» исключение в этом коде (сократить до сути проблемы)Invalid ошибка указателя нуля при использовании ifstream
#include <fstream>
#include <iostream>
#include <iomanip>
int main(){
std::ifstream input;
std::ofstream output;
unsigned __int16 currentWord = 0;
output.open("log.txt");
input.open("D:\\Work\\REC022M0007.asf", std::ios::binary);
input.seekg(0, input.end);
int length = input.tellg();
input.seekg(0, input.beg);
for (int i = 0; i < length;){
int numData = 0;
input.read(reinterpret_cast<char *>(currentWord), sizeof(currentWord));
}
input.close();
output.close();
return 0;
}
Линия, которая получает меня исключение составляет
input.read(reinterpret_cast<char *>(currentWord), sizeof(currentWord));
и он делает это на самом первом прохождении, так что это не то, что я пытался читать файл дальше, чем он есть.
При попытке изменить значение currentWord
1 я получаю исключение, как
trying to write to memory 0x0000001
или л вдоль линий (количество нулей не может быть правильным)
Веб-поиск сказал мне, что это что-то делать либо с пустым файлом (что не так), не найдено (не в том случае, когда длина получает значение) или что-то в типе casting mumbo-jumbo. Какие-либо предложения?
Принимает адрес ('& currentWord'). – 0x499602D2