Linked-List:读取C中的字符串

时间:2016-10-04 17:26:38

标签: c string linked-list

我需要从文件中读取字符串(逐行)并将它们存储到链接列表中。我可以从文件中读取并打印它们。但是,我已经发布了如何将它们存储到链表的问题。我尝试创建链接列表并将其保存如下:

#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;
}

2 个答案:

答案 0 :(得分:1)

有很多问题。

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

#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;
}

你真的应该学习如何阅读编译器的输出。

答案 1 :(得分:1)

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

#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已发布时,我试图解决这个问题   溶液