exp10_02.c

来自「《C语言程序设计教程、实验与练习》 源文件下载」· C语言 代码 · 共 61 行

C
61
字号
#include <stdio.h>
#include <alloc.h>
#include <string.h>

struct user_info
{
 char name[20];
 int  age;
 char phone[20];
 char address[80];
 };
typedef struct user_info USERINFO;

void getfilepathname(char *path,char *filetile)
{
 int i;
 int len;

 len=strlen(path);
 for(i=len-1;i>=0;i--)
   if(path[i]=='\\')
     break;
 strcpy(path+i+1,filetile);

 }

void main(int argc,char *argv[])
{
 int i,num;
 USERINFO *puser;
 char filename[80];
 FILE *fp;

 strcpy(filename,argv[0]);
 getfilepathname(filename,"user.dat");

 fp=fopen(filename,"rb");
 if(fp==NULL)
 {
   printf("can't find the user.dat\n");
   return;
   }
 fscanf(fp,"%d",&num);
 puser=(USERINFO *)malloc(num*sizeof(USERINFO));
 if(puser==NULL)
 {
   printf("no enough memory\n");
   fclose(fp);
   return;
   }
 fread(puser,sizeof(USERINFO),num,fp);
 fclose(fp);

 printf("%20s%5s%15s%20s\n","name","age","phone","address");
 for(i=0;i<num;i++)
   printf("%20s%5d%15s%20s\n",puser[i].name,
     puser[i].age,puser[i].phone,puser[i].address);

 free(puser);
 }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?