C结构体数组的应用

简介: #include //定义结构体存储学生成绩信息 struct address_list{ char name[10]; char adr[20]; char tel[15]; } info[100]; void save(char *name...
#include <stdio.h>


//定义结构体存储学生成绩信息
struct address_list{
    char name[10];
    char adr[20];
    char tel[15];
} info[100];

void save(char *name, int n){
    FILE *fp;
    int i;
    fp = fopen(name, "wb");
    if(fp == NULL){
        printf("cannot open file %s\n", name);
        exit(0);
    }
    for(i=0; i<n; i++){
        if(fwrite(&info[i], sizeof(struct address_list),1,fp)!=1){
            printf("file write error\n");
        }
    }
    fclose(fp);
}


void show(char *name, int n){
    FILE *fp;
    int i;
    fp = fopen(name, "wb");
    if(fp == NULL){
        printf("cannot open file %s\n", name);
        exit(0);
    }
    for(i=0; i<n; i++){
        fread(&info[i], sizeof(struct address_list),1,fp);
        printf("%15s%20s%20s\n", info[i].name, info[i].adr, info[i].tel);
    }
    fclose(fp);
}

int main(){
    int i, n;    
    char filename[50] ;
    printf("how many ?\n");
    scanf("%d", &n);    //输入学生数
    printf("please input filename:\n");
    scanf("%s", filename);    //输入文件路径和名称
    printf("please input name, address, telephone:\n");
    for(i=0; i<n; i++){
        printf("NO%d", i+1);
        scanf("%s%s%s", info[i].name, info[i].adr, info[i].tel);
        save(filename, n);    //调用save 
    } 
    show(filename, n);    //调用show 
    return 0;
}

 

目录
相关文章
|
6月前
|
C语言
指向结构体数组的指针
指向结构体数组的指针
95 2
|
6月前
|
存储
定义结构体数组
定义结构体数组
34 0
|
6月前
|
存储 C语言
使用结构体数组
使用结构体数组
58 0
|
5月前
结构体\结构体数组
结构体\结构体数组
24 2
|
5月前
结构体\结构体指针
结构体\结构体指针
31 3
|
4月前
|
存储 Java
定义和使用结构体数组
定义和使用结构体数组
数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结
数组指针、函数指针、指针数组、函数 指针数组、指针函数详细总结
|
存储 编译器 C语言
数组与结构体
数组与结构体
C/C++如何快速区分指针数组|数组指针|函数指针|指针函数
如何区分这些概念,主要还是看后面两个字,中文表达模式“表语+定性名词”,所以关键的都是后面的这个名词: 指针数组:一个数组,数组元素是指针,如: int* p[20]; 数组指针:一个指针,指向一个数组,如:int(*p)[20]; 函数指针:一个指针,指向一个函数;
|
机器学习/深度学习 存储 C语言