我试图让它变得更紧凑:
while (res->next())
{
strcpy(laArray[i][1],res->getString(1).c_str());
strcpy(laArray[i][2],res->getString(2).c_str());
strcpy(laArray[i][3],res->getString(3).c_str());
strcpy(laArray[i][4],res->getString(4).c_str());
strcpy(laArray[i][5],res->getString(5).c_str());
strcpy(laArray[i][6],res->getString(6).c_str());
strcpy(laArray[i][7],res->getString(7).c_str());
strcpy(laArray[i][8],res->getString(8).c_str());
i++;
}
我已经提出了这个问题,但它不起作用:(它在启动时冻结)
while (res->next())
{
for (int j=0; j < 3; j++){
strcpy(laArray[i][j],res->getString(j).c_str());
}
i++;
}
感谢您的时间
答案 0 :(得分:4)
您的循环具有错误的初始值和结束值
while (res->next())
{
for (int j=1; j <= 8; j++){
strcpy(laArray[i][j],res->getString(j).c_str());
}
i++;
}
另外,我非常仔细地考虑为什么使用基于1的索引而不是基于0的索引,这是C ++中的习惯用法:数组的第一个元素是索引0。