我把问题缩小到了几行代码,但我很难确定什么是非法的函数调用导致了“访问违规写入位置”,我希望有更好的C可以帮助我?
代码正在中断的输入是
vn 0.185492 -0.005249 0.982604
我想把3个浮点值赋给Struct vn数组
struct Normals{
float vn1;
float vn2;
float vn3;
};
struct Normals vn[50000];
崩溃的代码是
if (line[0] == 'v' && line[1] == 'n' && line[1] != 't'){
sscanf(line, "%*c%*c%f%f%f",
&vn[normCount].vn1,
&vn[normCount].vn2,
vn[normCount].vn3);
normCount++;
}
任何提示都很好!谢谢
最佳答案
你忘记了&
之前的vn[normCount].vn3
。
顺便问一下,line[1] == 'n' && line[1] != 't'
的意义是什么?
关于c - 文件解析期间的访问冲突写入位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9071811/