C 创建链表并将信息存储在二进制文件中读取的实例代码

妫殇曲

妫殇曲

2016-02-19 10:52

下面请跟着图老师小编一起来了解下C 创建链表并将信息存储在二进制文件中读取的实例代码,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

代码如下:

#include stdio.h
#include stdlib.h

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

typedef struct Node {
    int data;
    struct Node *next;
} Node;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

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

展开更多 50%)
分享

猜你喜欢

C 创建链表并将信息存储在二进制文件中读取的实例代码

编程语言 网络编程
C 创建链表并将信息存储在二进制文件中读取的实例代码

ASP中从数据库读取二进制文件数据代码

ASP
ASP中从数据库读取二进制文件数据代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MYSQL中如何存取二进制文件

PHP
MYSQL中如何存取二进制文件

二进制领域攻略

电脑网络
二进制领域攻略

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

处理二进制数据

ASP
处理二进制数据

Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)

编程语言 网络编程
Mysql LONGBLOB 类型存储二进制数据 (修改+调试+整理)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

孤单旳影子没了谁 - QQ伤感分组

孤单旳影子没了谁 - QQ伤感分组

showModalDialog 和 showModelessDialog

showModalDialog 和 showModelessDialog
下拉加载更多内容 ↓