我把问题缩小到了几行代码,但我很难确定什么是非法的函数调用导致了“访问违规写入位置”,我希望有更好的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/

10-16 11:13