gpt4 book ai didi

c - 如何使用 realloc() 函数逐项读取文件文本数组?

转载 作者:行者123 更新时间:2023-11-30 16:33:05 25 4
gpt4 key购买 nike

我有一个包含整数数组的文本文件。我需要逐项读取动态数组的行数和列数。看来 realloc() 函数可以满足我的要求。如何使用它一次添加一项?

我迷失在这段代码中:

i = 0;

while (fgets(temp, sizeof(tempMatriz), Matriz) != NULL)
{
token = strtok(temp, " ");
j = 0;
// **FIRST LINE OF DYNAMIC ARRAY**
MatrizTemp = (int **) realloc (MatrizTemp, sizeof(int) * (i + 1));

while(token != NULL)
{
**FIRST COLUMN OF DYNAMIC ARRAY**
MatrizTemp[i] = (int *) realloc (MatrizTemp, sizeof(int)));
MatrizTemp[i][j] = atoi(token);
token = strtok(NULL, " ");
j++;
}
i++;
}

感谢您的帮助。

最佳答案

MatrizTemp = (int **) realloc (MatrizTemp, sizeof(int) * (i + 1)); 似乎您期望一个 int** 所以您的大小可能是错误的 - 应该是 sizeof(int*) * num_reqd

MatrizTemp[i] = (int *) realloc (MatrizTemp, sizeof(int))); 始终重新分配一个 int - 需要与 j< 的值联系起来.

话虽如此:这不是一个非常有效的方法。适合学习练习,但是生产代码呢?没有。

关于c - 如何使用 realloc() 函数逐项读取文件文本数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49849189/

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