欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼

 更新時間:2013年03月24日 22:44:52   作者:  
C 創(chuàng)建鏈表并將信息存儲在二進制文件中讀取的實例代碼,需要的朋友可以參考一下

復制代碼 代碼如下:

#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++名稱空間介紹

    C++名稱空間介紹

    這篇文章主要介紹了C++名稱空間,這是一個很重要的概念——名稱空間,有些書本里翻譯成了命名空間,對應的英文是namespace。下面來看文章對此的詳細介紹吧,需要的小伙伴可以參考一下

    2021-12-12
  • Windows注冊表中修改UAC(用戶賬號控制)及批處理腳本

    Windows注冊表中修改UAC(用戶賬號控制)及批處理腳本

    今天小編就為大家分享一篇關于Windows注冊表中修改UAC(用戶賬號控制)及批處理腳本,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • C++二維數組中數組元素存儲地址的計算疑問講解

    C++二維數組中數組元素存儲地址的計算疑問講解

    今天小編就為大家分享一篇關于C++二維數組中數組元素存儲地址的計算疑問講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 通過GDB學習C語言的講解

    通過GDB學習C語言的講解

    今天小編就為大家分享一篇關于通過GDB學習C語言的講解,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • C++中指向對象的常指針與指向常對象的指針詳解

    C++中指向對象的常指針與指向常對象的指針詳解

    如果一個變量已經被聲明成常變量,則只能用指向常變量的指針變量指向它,而不能用一般的(非const型的)指針變量指向它
    2013-10-10
  • C++inline函數的特性你了解嗎

    C++inline函數的特性你了解嗎

    這篇文章主要為大家詳細介紹了C++的inline函數,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言中循環(huán)嵌套的應用方式

    C語言中循環(huán)嵌套的應用方式

    這篇文章主要介紹了C語言中循環(huán)嵌套的應用方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • C語言中基礎小問題詳細介紹

    C語言中基礎小問題詳細介紹

    這篇文章詳細介紹了C語言中基礎小問題,有需要的朋友可以參考一下
    2013-10-10
  • C++ 超詳細快速掌握二叉搜索樹

    C++ 超詳細快速掌握二叉搜索樹

    從這篇博客開始,我就要和大家介紹有關二叉搜索樹的知識,它還衍生出了兩棵樹——AVL樹和紅黑樹,在后面兩篇博客我都會介紹。今天先從二叉搜索樹開始引入
    2022-03-03
  • C++用new創(chuàng)建對象和不用new創(chuàng)建對象的區(qū)別解析

    C++用new創(chuàng)建對象和不用new創(chuàng)建對象的區(qū)別解析

    在C++用new創(chuàng)建對象和不用new創(chuàng)建對象是有區(qū)別的,不知你是否清楚的了解它們到底有什么樣的區(qū)別呢?下面小編就用示例來告訴大家吧,需要的朋友可以過來參考下
    2013-07-07

最新評論