最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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++ Boost MetaStateMachine定義狀態(tài)機超詳細講解

    C++ Boost MetaStateMachine定義狀態(tài)機超詳細講解

    Boost是為C++語言標準庫提供擴展的一些C++程序庫的總稱。Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發(fā)引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱
    2022-12-12
  • C++定義和初始化string對象實例詳解

    C++定義和初始化string對象實例詳解

    這篇文章主要為大家介紹了C++定義和初始化string對象實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • C++實現(xiàn)LeetCode(168.求Excel表列名稱)

    C++實現(xiàn)LeetCode(168.求Excel表列名稱)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(168.求Excel表列名稱),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 解析Linux內(nèi)核的基本的模塊管理與時間管理操作

    解析Linux內(nèi)核的基本的模塊管理與時間管理操作

    這篇文章主要介紹了Linux內(nèi)核的基本的模塊管理與時間管理操作,包括模塊加載卸載函數(shù)的使用和定時器的用法等知識,需要的朋友可以參考下
    2016-02-02
  • C++中成員函數(shù)和友元函數(shù)的使用及區(qū)別詳解

    C++中成員函數(shù)和友元函數(shù)的使用及區(qū)別詳解

    大家好,本篇文章主要講的是C++中成員函數(shù)和友元函數(shù)的使用及區(qū)別詳解,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-01-01
  • C語言實現(xiàn)無規(guī)律數(shù)據(jù)加密、解密功能

    C語言實現(xiàn)無規(guī)律數(shù)據(jù)加密、解密功能

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)無規(guī)律數(shù)據(jù)加密、解密功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • 劍指offer之C語言不修改數(shù)組找出重復的數(shù)字

    劍指offer之C語言不修改數(shù)組找出重復的數(shù)字

    今天小編就為大家分享一篇關于劍指offer之C語言不修改數(shù)組找出重復的數(shù)字,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • c++ Protobuf解決數(shù)據(jù)傳輸瓶頸面試精講

    c++ Protobuf解決數(shù)據(jù)傳輸瓶頸面試精講

    這篇文章主要介紹了c++ Protobuf解決數(shù)據(jù)傳輸瓶頸利器面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • c++ Bellman-Ford算法的具體實現(xiàn)

    c++ Bellman-Ford算法的具體實現(xiàn)

    Bellman-Ford算法用于解決有邊數(shù)限制的最短路問題,且可以應對有負邊權的圖,本文主要介紹了c++ Bellman-Ford算法的具體實現(xiàn),感興趣的可以了解一下
    2021-06-06
  • C++私有繼承(三)

    C++私有繼承(三)

    這篇文章主要介紹了C++私有繼承(三),前面的文章我們已經(jīng)介紹過了C++私有繼承(一)和(二),下面小編就繼續(xù)基于之前的內(nèi)容繼續(xù)向大家介紹C++私有繼承,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-02-02

最新評論

梅州市| 阿合奇县| 宣城市| 平定县| 巴林右旗| 新平| 容城县| 定日县| 昌都县| 从江县| 禄丰县| 旺苍县| 新田县| 九台市| 通渭县| 甘孜县| 开封市| 哈尔滨市| 白水县| 理塘县| 涡阳县| 府谷县| 东平县| 内丘县| 临夏县| 盖州市| 惠来县| 平凉市| 新龙县| 长白| 宝应县| 玉林市| 隆林| 乌审旗| 吉安县| 华阴市| 锡林郭勒盟| 靖西县| 丰原市| 通州市| 福州市|