вставить строку чтения из файла в связанный список - PullRequest
0 голосов
/ 04 декабря 2011
LIST *list;
list = createList();
FILE *file = fopen("test.txt","r");
char line[50];
char* token;

while(fgets(line,sizeof(line),file))
{
    token = strtok(line," ,:=");
    while (token != NULL)
    {
       printf("\n%s",token);
       token = strtok(NULL," ,:=");
    }
}

этот фрагмент кода правильно разделяет строки в моем файле на токены. Теперь я хочу вставить их в связанный список. Но добавление функции addNode внутри цикла while:

while (tp != NULL)
{
     printf ("\n%s",token);
     token = strtok (NULL, " ,:=");
     addNode(li,&token);
}

не работает при вставке.

функция addNode: (из заданной библиотеки)

int addNode (LIST* pList, void* dataInPtr)
{
    bool found;
    bool success;
    NODE* pPre;
    NODE* pLoc;

    found = _search (pList, &pPre, &pLoc, dataInPtr);
    if (found)
       return (+1);

    success = _insert (pList, pPre, dataInPtr);
    if (!success)
       return (-1);
    return (0);
} 

У кого-нибудь есть идеи по этому поводу?

1 Ответ

1 голос
/ 04 декабря 2011

Возможно, это проблема:

 addNode(li,&token); /* Passing char**, not char* */

изменить на:

 addNode(li,token);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...