gpt4 book ai didi

c++ - 无法在循环 C++ 中打开文件

转载 作者:太空宇宙 更新时间:2023-11-04 14:55:43 24 4
gpt4 key购买 nike

我有一个具有以下代码的 C++ 应用程序:

for (int i = 0; i < ALL_EPID_CERTS_LENGTH; i++)
{
std::ifstream file(;
file.open(path.append(ALL_EPID_CERTS_1_0[i]), std::ios::in | std::ios::binary);
if(file.is_open())
{
// get the length of the file
file.seekg(0, ios::end);
size_t fileSize = file.tellg();
file.seekg(0, ios::beg);
// create a vector to hold all the bytes in the file
vector<byte> data(fileSize, 0);
// read the file
file.read(reinterpret_cast<char*>(&data[0]), fileSize);
byte *tempCerts = new byte[data.size()+1];
memset(tempCerts,0,fileSize+1);
std::copy(data.begin(), data.begin()+(data.size()), tempCerts);
// !!!!check if NULL and place for NULL are needed
for (int j = 0; j < data.size(); j++)
{
list.push_back(tempCerts[j]);
}
file.close();
}
}

在第一次迭代中,循环执行预期的操作,但由于第二次迭代 - file.is_open() 返回 false。所有文件都存在。你能给我解释一下哪里出了问题吗???

最佳答案

你执行 path.append - path 是什么?您希望它在第一次迭代后是什么 - ALL_EPID_CERTS_1_0[1] 附加到 ALL_EPID_CERTS_1_0[0] 可以吗?

关于c++ - 无法在循环 C++ 中打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com