当前位置: 代码迷 >> C语言 >> [求助]如果把一个链表存储到文件??
  详细解决方案

[求助]如果把一个链表存储到文件??

热度:126   发布时间:2007-10-25 08:50:35.0
[求助]如果把一个链表存储到文件??

主要代码:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>

struct Date
{
int day;
int month;
int year;
};

struct Engineer
{
unsigned int No;
char Name[20];
unsigned int Sex;
struct Date Birth;
char Hometown[10];
unsigned int Education;
char Address[30];
char Phone[15];
unsigned int WorkYears;
double BaseSalary;
struct Engineer *next;
};
struct Engineer *first=NULL;
struct Engineer *current=NULL;
struct Engineer *previous=NULL;

void Input()
{

char test='\0';
system("cls");
for( ; ; )
{
printf("\n你想输入一个工程师的信息吗?(Y/N)");
test=getch();
if(tolower(test)=='n')
break;
current=(struct Engineer*)malloc(sizeof(struct Engineer));

if(first==NULL)
first=current;
if(previous!=NULL)

previous->next=current;

printf("\n请输入编号:");
scanf("%d",&current->No);

printf("\n请输入姓名:");
scanf("%s",current->Name);

printf("\n请输入性别:");
scanf("%d",&current->Sex);

printf("\n请输入生日(年 月 日):");
scanf("%d %d %d",&current->Birth.year,&current->Birth.month,&current->Birth.day);

printf("\n请输入籍贯:");
scanf("%s",current->Hometown);

printf("\n请输入学历:");
scanf("%d",&current->Education);

printf("\n请输入地址:");
scanf("%s",current->Address);

printf("\n请输入电话:");
scanf("%s",current->Phone);

printf("\n请输入工龄:");
scanf("%d",&current->WorkYears);

printf("\n请输入基本工资:");
scanf("%f",&current->BaseSalary);

current->next=NULL;
previous=current;
//save();

}
}

如何把输入的信息存储到文件,下次打开后再如何读取?

搜索更多相关的解决方案: 链表  文件  

----------------解决方案--------------------------------------------------------
fscanf(结构 ,你的格式,文件)
PS:如果用fprintf将数值写入文件,当读取的时候好像不能再用%d or %f读取了,因为数值都变成了字符串
----------------解决方案--------------------------------------------------------
  相关解决方案