У меня следующая проблема. Я выделил 2d динамический массив символов в C. Однако, когда я пытаюсь заполнить этот массив уникальными строками в каждой строке, каждая запись перезаписывает предыдущие. Таким образом, я получаю массив, который имеет только последнюю строку в каждом сырье. Можете предложить некоторые идеи? Спасибо.
FILE *dictionary;
dictionary = fopen("dictionary.txt","r");
if (dictionary == NULL)
{
printf("can not open dictionary \n");
return 1;
}
char line[512];
char** hashes;
hashes = malloc(250*512);
if(!hashes){
printf("OUTOFMEMORY\n");
return;
}
i=0;
char *salt;
salt = extract_salt(shd);
char* encrypted;
while(fgets(line, sizeof(line), dictionary))
{
//hashes[i] = calculate_hash(shd, line);
encrypted = crypt(line, salt);
printf("%s\n",encrypted );
strcpy(hashes[i],encrypted );
if(i>0)
printf("%s, %s \n", hashes[i], hashes[i-1]);
i++;
}