我需要从文件中读取字符串(逐行)并将它们存储到链接列表中。我可以从文件中读取并打印它们。但是,我已经发布了如何将它们存储到链表的问题。我尝试创建链接列表并将其保存如下:
#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;
}
答案 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已发布时,我试图解决这个问题 溶液