gpt4 book ai didi

c++ - 运行时错误 : _block_type_is_valid(phead- nblockuse)

转载 作者:行者123 更新时间:2023-11-28 07:29:57 26 4
gpt4 key购买 nike

首先,我将向您展示我的代码。

std::ifstream file("accounts/22816.txt");
if(file){
char *str[50];
int count=0;
str[0] = new char[50];
while(file.getline(str[count], 50)){
count++;
str[count] = new char[50];
}
for(int i=0;i<count;i++){
std::cout << str[i] << std::endl;
}
delete[] str; // Here is the problem
}

前面代码的行为是:

  • 逐行读取文本文件的内容。
  • 将每一行保存在二维数组的item中。
  • 打印二维数组的项目。
  • 最后,从内存中删除数组<<以及这个原因
    问题

测试我的应用程序时总是给我运行时错误消息 _block_type_is_valid(phead- nblockuse).

我知道这个问题是因为 delete[] str;

最佳答案

str 是一个指针数组,每个指针都指向一个动态分配的数组。

您需要遍历它并对每个元素调用 delete []

for(int i=0; i < count; ++i){
delete [] str[i];
}

注意:我已经为 OP 提供了 an example using std::vector, std::string and std::getline .

关于c++ - 运行时错误 : _block_type_is_valid(phead- nblockuse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17916434/

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