Почему фиксированный массив работает, но когда я пытаюсь сделать его динамическим с помощью malloc, возникает ошибка сегментации? Я пробовал все виды значений, кроме *10. Это просто использование небольшого файла. Мне нужно это для работы со словарем из 90 000 слов.
FILE *fp;
long lSize;
//char buffer[100];
char *buffer=malloc(sizeof(char)*10);
int i = 0;
fp = fopen ( "cats.txt" , "rb" );
if( !fp ) perror("cats.txt"),exit(1);
wordTree = makeEmptyTree();
while( fscanf(fp, "%s", &buffer) != EOF )
{
addStringToTree(wordTree, buffer);
//printf("%s\n", words[i]);
}
fclose(fp);
//free(buffer);
Я также могу включить addStringToTree, если это необходимо.
Изменить 1
Спасибо, ребята, что исправили. К сожалению, я не смог заставить работать текстовый файл из 90 000 слов, но все еще получаю ошибку ошибки сегмента.
wordTree
все в порядке. Попробуйте использовать отладчик, например gdb. - person Rikayan Bandyopadhyay   schedule 11.04.2014