指针迭代器异常,高分求助!!!
下面的code是想把迭代器中的值拼接成字符串显示出来,结果程序运行一段后就在拼接时候抛出异常,请大虾们帮忙该如何改进啊!!!
typedef std::vector<_variant_t*>::iterator CVariantVectorIter;
TCHAR Output[5000];
const char *dollar = "$";
const char *wave = "~";
for (CVariantVectorIter col = row->begin(); col != row->end(); col++, col_index++)
{
entryNum2 =1;
if ((*col) != NULL)
{
entryNum2 = 2;
strcat(Output, (char*)(_bstr_t)(*col));
strcat(Output, dollar);
//pFastLoader->SetColumnValue(col_index, (*col));
}
else
{
strcat(Output, wave);
strcat(Output, dollar);
}
}
typedef std::vector<_variant_t*>::iterator CVariantVectorIter;
TCHAR Output[5000];
const char *dollar = "$";
const char *wave = "~";
for (CVariantVectorIter col = row->begin(); col != row->end(); col++, col_index++)
{
entryNum2 =1;
if ((*col) != NULL)
{
entryNum2 = 2;
strcat(Output, (char*)(_bstr_t)(*col));
strcat(Output, dollar);
//pFastLoader->SetColumnValue(col_index, (*col));
}
else
{
strcat(Output, wave);
strcat(Output, dollar);
}
}
...全文
相关推荐
Java集合框架迭代器Iterator实现原理解析
2、Object next():返回Iterator的下一个元素,同时指针也会向后移动一位。3、void remove():删除指针的上一个元素(建议使用自己容器里的方法)。
java集合迭代器Iterator中的remove陷阱
这是因为`remove()`方法会移动迭代器的内部指针,如果在错误的时间点调用,可能导致未定义的行为或抛出异常。
Java中的迭代器和foreach原理
`E next()`: 返回集合中的下一个元素,并将指针移动到下一个元素的位置。3. `void remove()`: 删除当前指向的元素。
从零开始学习C标准模板库的完整实现与深度解析项目_涵盖容器迭代器算法函数对象适配器内存分配器仿函数模板元编程异常安全RAII原则智能指针移动语义完美转发.zip
迭代器是连接容器和算法的关键桥梁。它们提供了一种方法来访问容器内的元素,而不必暴露容器的内部实现。迭代器类似于指针,有输入迭代器、输出迭代器、前向迭代器、双向迭代器和随机访问迭代器等类型。
迭代器测试
**异常处理**:在迭代器测试中,应考虑异常边界情况,例如空集合、非法状态以及在不允许删除时调用`remove()`。6.


VC.NET
