Copy codeThe Code is as follows: # include <stdio. h>
# Include <stdlib. h>
Typedef struct Node {
Int data;
Struct Node * next;
} Node;
Void getInfo (Node * node );
Int printNodes (Node * node );
Void saveToFile (Node * node, char * filename );
Void readFromFile (char * filename, int n );
Node nodes [20];
Int main (){
Node * first = (Node *) malloc (sizeof (Node ));
First-> data = 1;
First-> next = NULL;
GetInfo (first );
Int numbers = printNodes (first );
SaveToFile (first, "D:/123123 ");
ReadFromFile ("D:/123123", numbers );
Return 1;
}
Void getInfo (Node * node ){
Node * last = node;
Char ch = 0;
While (ch = getchar ())! = 'X '){
Node * newNode = (Node *) malloc (sizeof (Node ));
NewNode-> data = ch-'A ';
NewNode-> next = NULL;
Last-> next = newNode;
Last = newNode;
}
}
Int printNodes (Node * node ){
Int I = 1;
Node * p = node;
While (p! = NULL ){
Printf ("% d,", p-> data );
P = p-> next;
I ++;
}
Return I;
}
Void saveToFile (Node * node, char * filename ){
Node * p = node;
FILE * fp;
If (fp = fopen (filename, "wb") = NULL ){
Return;
} Else {
While (p! = NULL ){
Fwrite (p, sizeof (Node), 1, fp );
P = p-> next;
}
}
Fclose (fp );
}
Void readFromFile (char * filename, int n ){
Int I = 1;
FILE * fp;
If (fp = fopen (filename, "rb") = NULL ){
Return;
} Else {
While (I <n ){
Node * newNode = (Node *) malloc (sizeof (Node ));
Fread (newNode, sizeof (Node), 1, fp );
Printf ("-- % d,", newNode-> data );
I ++;
}
}
}