-1
getline()を使って行全体を取得し、それをリンクリストに挿入する方法は? ここに私のコードです。私は文字列全体として行を見ることができるかどうかは確信しています。私は1行だけを試みたとき、プログラムは問題なく動作しています。私はそれが私が障害をセグメンテーション示して別の行を挿入しようとしたとき、しかし:11cでノードに行全体を挿入する方法は?
typedef struct Node{
struct Node *next;
char *data;
}Node;
void insert(Node **head, char *input){
Node *newNode = malloc(sizeof(Node));
newNode->data = input;
newNode->next = NULL;
Node *cur = *head;
if(*head == NULL){
*head = newNode;
}
else{
while(cur!=NULL){
cur = cur->next;
}
cur->next = newNode;
}
}
void Pint(Node *head){
Node *cur = head;
while(cur!=NULL){
printf("%s\n", cur->data);
cur = cur->next;
}
printf("\n");
}
int main(){
Node *head = NULL;
char *input = NULL;
size_t len = 0;
while(getline(&input, &len, stdin)!=EOF){
insert(&head, input);
input = NULL;
}
Pint(head);
return 0;
}
移動してみてください cur = cur-> next;以下、 cur-> next = newNode; – user2519193
@ user2519193今度は無限ループがあるようです... – user1234567
whileループをifに変更してください。 – user2519193