「C」备忘

结构体的使用

struct Teacher//一般为链表中data的结构体
{
        int num;            //教师工号
        char name[10];      //教师姓名
        int  age;           //教师年龄
        char sex;           //教师性别('M'-男  'F'-女)
};
  • 之后使用的时候该类型为struct Teacher(不可省略struct)
typedef  struct  _node//一般为链表中的结点表达形式
{
    int value;
    struct _node *pnext;//此处typedef还没起到效果
}TagNode;
  • 之后使用即可用TagNode来充当类型名

读写文件操作

//其中路径的写法为 反斜杠\\,因为在c语言中转义字符的存在!
int Readfile(char*filename,struct User*users)
{
    FILE *fp;
    int i=0,res;

    fp=fopen(filename,"rb");
    if(fp==NULL)
    {
        printf("无法打开文件!\n");//打开文件
        exit(0);
    }

    while(!feof(fp))
    {
        res=fread(&users[i],sizeof(struct User),1,fp);
        if(res==0)
            continue;
        i++;
    }
    fclose(fp);

    return i;
}
struct Node* Createlist(char*filename)
{
    struct Node* head,*p,*q;
    FILE *fp;
    int res;
    struct Teacher t;

    fp=fopen(filename,"rb");
    if(fp==NULL)
    {
        printf("无法打开文件!\n");
        exit(0);
    }

    head=(struct Node*)malloc(sizeof(struct Node));//分配空间的首地址
    q=head;

    while(!feof(fp))
    {
        res=fread(&t,sizeof(struct Teacher),1,fp);//返回所读的数据项个数,如遇到文件结束或出错返回0
        if(res==0)
            continue;

        p=(struct Node*)malloc(sizeof(struct Node));
        q->next=p; //下一个
        p->data=t; //数据指向

        q=p;
    }
    p->next=NULL;

    fclose(fp);

    return head;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值