我有一个数据结构:
vector<pair<map<unsigned char, unsigned char>,unsigned short>>
我正在尝试访问地图并打印其第一个和第二个元素,但我无法正确访问它。
这是我到目前为止所拥有的:
auto dataSetMapIt = vLpatDataSet[i].first.begin();
fwrite(&dataSetMapIt->first, sizeof(dataSetMapIt->first), 1, filePtr);
fwrite(&dataSetMapIt->second, sizeof(dataSetMapIt->second), 1, filePtr);
任何人都可以看到我做错了它不能正确访问地图值吗?
答案 0 :(得分:0)
您只需在矢量中打印每个地图的第一个键/值对。
也许我认为你想要在矢量中的每个地图中打印所有对。
for (int i = 0; i < vLpatDataSet.size(); ++i)
{
const map < unsigned char, unsigned char>& mapInVector = vLpatDataSet[i].first;
for (auto keyValuePair : mapInVector)
{
fwrite(&keyValuePair.first, sizeof(keyValuePair.first), 1, filePtr);
fwrite(&keyValuePair.second, sizeof(keyValuePair.second), 1, filePtr);
}
}