C++ 使用atof将字符串转换为双精度时发生访问冲突
我使用atof将字符串转换为double。程序从csv文件中一个字符串一个字符串读取,直到达到eof。只有在某个特定的字符串上存在访问冲突问题,而之前的那些字符串没有任何问题。有什么问题吗?错误是 TestOpenCV_CameraCalibration.exe中0x778515de处未处理的异常:0xC0000005:访问冲突读取位置0x406e64b1。事情发生在阿托夫。 程序附在下面C++ 使用atof将字符串转换为双精度时发生访问冲突,c++,access-violation,C++,Access Violation,我使用atof将字符串转换为double。程序从csv文件中一个字符串一个字符串读取,直到达到eof。只有在某个特定的字符串上存在访问冲突问题,而之前的那些字符串没有任何问题。有什么问题吗?错误是 TestOpenCV_CameraCalibration.exe中0x778515de处未处理的异常:0xC0000005:访问冲突读取位置0x406e64b1。事情发生在阿托夫。 程序附在下面 while (!myReadFile.eof()) { //myR
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++;
}
}
while(!myReadFile.eof())
{
//myReadFile>>cstr;
getline(myReadFile,cstr,',');
//removedString=RemoveChars(cstr,removedchar);
const char*c=cstr.c_str();
//是否可以考虑使用
将该值读入双精度
比较endptr和char ptr。如果它们相同,不要增加计数器。要么j
要么k
太大。@cnicutar我也这么认为,但是请注意,k
的范围是1200,j
的范围是0到2?一定是temp
有问题boundaries@Aniket那里面什么都没有如果(k==1200)k=k;
@cnicutarj=j%3