C 创建链表并将信息存储在二进制文件中读取的实例代码
2019/7/10 23:30:33
本文主要是介绍C 创建链表并将信息存储在二进制文件中读取的实例代码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#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++;
}
}
}
这篇关于C 创建链表并将信息存储在二进制文件中读取的实例代码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Nacos多环境配置学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos快速入门学习入门
- 2024-12-27Nacos配置中心学习入门指南
- 2024-12-27Nacos配置中心学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos做项目隔离学习入门
- 2024-12-27Nacos初识学习入门:轻松掌握服务发现与配置管理
- 2024-12-27Nacos初识学习入门:轻松掌握Nacos基础操作
- 2024-12-27Nacos多环境配置学习入门