读写文件与结构体数组结合

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


#define MAXSIZE 1024
#define N 5
typedef struct
{
    char cust_no[30];
    char cust_name[30];
}stuPLKH;

void strutofile(stuPLKH plkh[N]);
void filetostruct()
{
    int i = 0;
    stuPLKH plkh[N];
    memset(&plkh, 0, sizeof(stuPLKH));
    FILE *fp = fopen("a.txt", "r");
    if(fp == NULL)
    {
        printf("open error!\n");
        exit(1);
    }
    char buffer[MAXSIZE];
    memset(buffer, 0, MAXSIZE);

    //fread(buffer, MAXSIZE, 1, fp);
    //printf("buffer = %s\n", buffer);
    //sscanf(buffer, "%6s%6s", plkh[i].cust_no, plkh[i].cust_name);
    i = 0;
    while(fgets(buffer, MAXSIZE, fp) != NULL && i < N)
    {
        printf("buffer = %s", buffer);
        sscanf(buffer, "%6s-%6s", plkh[i].cust_no, plkh[i].cust_name);
        i++;
    }

    for( i =0 ;i < N; i++)
    {
        printf("%s,  %s\n", plkh[i].cust_no, plkh[i].cust_name);
    }
    strutofile(plkh);
    
}

void strutofile(stuPLKH plkh[N])
{
    int i;
    FILE *fp = fopen("b.txt", "w");
    for(i = 0; i < N; i++)
    {
        fprintf(fp, "%6s-%6s\n", plkh[i].cust_no, plkh[i].cust_name);
    }
     
}

int main()
{
    filetostruct();
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xiadeliang1111/article/details/55212180