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

2016-02-19 10:52 95 1 收藏

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

【 tulaoshi.com - 编程语言 】

代码如下:

#include stdio.h
#include stdlib.h

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

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

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

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

来源:http://www.tulaoshi.com/n/20160219/1595976.html

延伸阅读
《二进制领域》图文流程攻略 游戏开始教程跟着小胖对话,把语音系统关掉,Q,E,F,空格,是360的4个键.大致自己按一下. .. 过了教程后一路跟小胖走,会遇到第一波敌人.  合力解决掉后,在面前会看见3个箱子.小胖会bla bla bla. 各会,右上角的蓝条会显示有1能量了,换出第一把武器, 按住鼠标滚轮,蓄力射出,打爆箱子,通过 清理后,前面继...
标签: 电脑入门
以4bit(计算方便一点,和16bit是一样的)做检验和来验证。 建设原始数据为 1100 , 1010 , 0000(校验位) 那么把他们按照4bit一组进行按位取反相加。 1100取反0011 , 1010取反是0101,0011加上0101 是1000,填入到校验位后 1100 , 1010 , 1000 那么这个就是要发送的数据。收到数据后同样进行按位取反相加。0011+0101+0111 =1111;全...
《二进制领域》文字流程 操作 X:近身攻击 A:找掩体,爬椅子/按住冲刺 B:拿取物品,按开关 Y:注视 LB:队友指挥,对话选择 RB:装弹/按住大威力能量球 LT:瞄准 RT:射击 LS:角色移动 RS:视角 第一章 边打边跑 一上来主角(名字叫蛋,不,是丹,音译都一样)出现很突兀,和他在一起的是个老黑(代号大波,这作的名字都这么直接...
《二进制领域》视频攻略 《二进制领域》视频攻略(更新中。。。) 《二进制领域》关于进游戏黑边的解决办法 不是游戏版本问题,也不是你电脑问题 是你进游戏没调整的问题 看图吧: 《二进制领域》图文流程攻略 游戏开始教程跟着小胖对话,把语音系统关掉,Q,E,F,空格,是360的4个键.大致自己按一下. .. 过了教程后一路跟小胖走,会遇...
文件拷贝实例:(Text1存放源文件位置,Text2存放目标文件位置)------------------------------------------------------------------------ Private Sub Command3_Click()Const BUFFER_SIZE = 40960 * 2 '规定缓冲区大小Dim nActual As LongDim aBuf(0 To BUFFER_SIZE - 1) As Byte '分配缓冲区Dim tmr As Single '计时变量Dim lFileLen As ...

经验教程

439

收藏

72
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部