链表:在C中读取字符串



我需要从文件中读取字符串(逐行)并将它们存储到链表中。我可以从文件中读取并打印它们。然而,我有问题如何将它们存储到链表。我试着创建一个链接列表,并像下面这样保存它们:

#include <stdio.h>
#include <stdlib.h>

typedef struct node
{
    char data[256];
    struct node *next;
} node_t;
node_t *head = NULL;
node_t *current = NULL;
int main(int argc, char const *argv[])
{
    char temp = 'Hello';
    insertToHead(temp);
    return 0;
}
void insertToHead(char *word) 
{
    node_t *link = (node_t *) malloc(sizeof(node_t));
    link->data = strcpy(link->data , word);
    link->next = head;
    head = link;
}

有很多问题。

我修复了这里和现在的程序编译至少:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct node
{
    char data[256];
    struct node *next;
} node_t;
node_t *head = NULL;
node_t *current = NULL;
void insertToHead(char *word) 
{
    node_t *link = (node_t *) malloc(sizeof(node_t));
    strcpy(link->data , word);
    link->next = head;
    head = link;
}
int main(int argc, char const *argv[])
{
    char *temp = "Hello";
    insertToHead(temp);
    return 0;
}

你真该学学怎么读编译器的输出

有相当多的语法问题,你应该包括字符串库:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct node {
  char data[256];
  struct node *next;
} node_t;
node_t *head = NULL;
node_t *current = NULL;
void insertToHead(char *word) {
  node_t *link = (node_t *) malloc(sizeof(node_t));
  strcpy(link->data , word);
  link->next = head;
  head = link;
}
int main(int argc, char const *argv[]) {
  char *temp = "Hello";
  insertToHead(temp);
  return 0;
}

编辑

当@MichaelWalz已经发布了这个问题时,我正试图解决这个问题解决方案

相关内容

  • 没有找到相关文章

最新更新