нарушение доступа при преобразовании строки в удвоение с помощью atof

Я использовал atof для преобразования из строки в удвоение. Программа читает из файла csv одну строку за одной строкой до достижения eof. Только в определенной строке есть проблемы с нарушением прав доступа, и эти строки раньше не имеют никаких проблем. В чем может быть проблема? Ошибка
Необработанное исключение в 0x778515de в TestOpenCV_CameraCalibration.exe: 0xC0000005: расположение чтения нарушения доступа 0x406e64b1. Это случилось в atof.
Программа прилагается ниже

 while (!myReadFile.eof())
{
//myReadFile>>cstr;
getline ( myReadFile, cstr, ',' );
//removedString = RemoveChars(cstr, removedchar);
const char * c = cstr.c_str();
//cout << k << "\n";
if(k == 1200)
k = k;
temp[j++][k] = atof(c);
if(i < 3)
{
if((j = j % 2) == 0)
k++;
}
else
{
if((j = j % 3) == 0)
k++;
}
}

0

Решение

рассмотреть возможность использования strtod

читать значение в двойном

сравните endptr с вашим char ptr. Если они одинаковые, не увеличивайте свои счетчики.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector