Распечатать содержимое связанного списка в текстовый файл - PullRequest
0 голосов
/ 20 октября 2019

Я создал связанный список слов из текстового файла в UTF-8, и я пытаюсь распечатать этот список разделенных слов в другой текстовый файл.

Я протестировал свою реализацию связанного списка, и он работает (я могу распечатать каждый узел на stdout), поэтому я думаю, что может быть проблема с передачей списка в мою функцию, которая печатает вфайл.

Моя структура:

struct node_struct
{
    void *data;
    struct node_struct *next;
}node;

Вот мое главное, чтобы проверить программу:

int main()
{

    FILE *fptr;
    node *ptr = malloc(sizeof(node));

    fptr = fopen( "story.txt", "r" ); //open the text file
    ptr = getwords( fptr ); 
//get words separates words from the file and return pointer to first node in the list
    fclose( fptr );

    fptr = fopen( "output.txt", "w" );
    fprinttext( fptr, ptr ); // fprinttext takes file and pointer to first node as parameter to output the list to text file
    fclose( fptr );

    return 0;
}

Вот функция fprinttext

void fprinttext(FILE *fp, node *list)
{
   if(list == NULL)
   {
    printf("The list is empty!\n");
   }

    while (list != NULL) {
        fprintf(fp, "%s\n", (char *)list->data);
        list = list->next;
    } 

    return;
}

Если в моем файле story.txt текст «Да пребудет с тобой сила. \ N», я ожидаю, что программа выведет разделенные слова в виде отдельных строк в файле output.txt, но я получаю ошибку сегментации, как только я вхожу в цикл while. ,Что я делаю не так в своем коде?

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