69,382
社区成员
发帖
与我相关
我的任务
分享
typedef struct user{
char no[6];
unsigned int count; //array的实际长度
int array[20];
char sex;
}
#include <stdio.h>
#include <stdlib.h>
typedef struct user {
char no[6];
char name[20];
char sex;
} user_t;
#define MAX_LINE 1024
#define BIN_OP 0
int main(void)
{
FILE *fp = NULL;
user_t usr;
char garbage[MAX_LINE];
#if BIN_OP
if ((fp = fopen("user.txt", "ab+")) == NULL)
#else
if ((fp = fopen("user.txt", "a+")) == NULL)
#endif
{
fprintf(stderr, "Open file failure!\n");
exit(EXIT_FAILURE);
}
scanf("%s %s %c", usr.no, usr.name, &usr.sex);
gets(garbage);
#if BIN_OP
fwrite((const void *)&usr, sizeof(usr), 1, fp);
#else
fprintf(fp, "%s %s %c\n", usr.no, usr.name, usr.sex);
#endif
fclose(fp);
#if BIN_OP
if ((fp = fopen("user.txt", "rb")) == NULL)
#else
if ((fp = fopen("user.txt", "r")) == NULL)
#endif
{
fprintf(stderr, "Open file failure!\n");
exit(EXIT_FAILURE);
}
#if BIN_OP
fread((void *)&usr, sizeof(usr), 1, fp);
#else
fscanf(fp, "%s %s %c", usr.no, usr.name, &usr.sex);
#endif
printf("NO: %s\nNAME: %s\nSEX: %c\n", usr.no, usr.name, usr.sex);
fclose(fp);
getchar();
return 0;
}