向量的第一个元素转换器值
Vector's first element changrs value
我有一个do while循环,其目的是构建一个包含可用DLL列表的数组。
do{
DLL_List.push_back((char*)FindFileData.cFileName);
cout << "DLL 0 IS" << DLL_List[0];
}
while (FindNextFile(hFind, &FindFileData));
问题:DLL_List[0] 的值在每次迭代时都会更改(使用新找到的 DLL 文件的名称)!多亏了cout,我才能看到它。为什么?我以为push_back不会修改以前的,我错了吗?
看起来您正在存储指向一个字符串的指针,该字符串在调用FindNextFile
时会发生变化(尽管您忘记告诉我们确切的DLL_List
是什么,所以我不能完全确定)。
改为存储std::string
。这将保留字符串的副本,而不仅仅是指向它的指针。
相关文章:
- 转换器练习:跳过 if 语句和 if 语句
- 使用转换器提升 Python 问题 - 静态链接
- 访问要输出的矢量迭代器元素
- 我写的 ASCII 到二进制转换器C++向后显示二进制,如何使其正确显示?
- 十进制到二进制转换器 c++
- 用于 boost::p roperty_tree 的通用枚举转换器
- 为什么我的C++基转换器中出现分段错误?
- 将字节数组转换为对象C++ |C++中的 C# 位转换器
- 英语到摩尔斯电码转换器
- 我用c++做了一个转换器,把英里转换成公里,把公里转换成英里,把赛尔修斯转换成法赫伦海特,把法赫伦海特转换成赛尔修斯
- 使用 Json 转换器反序列化 WCF 服务中的C++字符串
- 十进制,包括负到 32 位二进制转换器
- 标准::映射转换器模板
- 英里到千克转换器练习的小语法错误
- 句子转换器在存在新行的情况下不起作用
- 在C Windows程序中获取A/D转换器示例程序
- ROS中未定义的参考误差到OpenCV图像转换器
- 表达式到C++类类型转换器/类型转换
- 这里怎么了?单位转换器
- 向量的第一个元素转换器值