zoukankan      html  css  js  c++  java
  • 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++;
            }
        }
        fclose(fp);
    }
  • 相关阅读:
    为什么需要域驱动设计(DDD)?
    什么是无所不在的语言?
    什么是耦合?
    什么是 Spring Cloud?
    你更倾向用那种事务管理类型?
    您对微服务有何了解?
    微服务架构有哪些优势?
    微服务架构如何运作?
    @Qualifier 注解 ?
    JdbcTemplate ?
  • 原文地址:https://www.cnblogs.com/cart55free99/p/2979785.html
Copyright © 2011-2022 走看看