krakra 发表于 2015-8-9 00:00:13

运行代码结果正确,但是其中混杂一些奇怪的一串数字

//输出两个学生数据
#include<stdio.h>
#define SIZE 2


typedef struct   //typedef
{
    char name;
    int num;
    int age;
    char addr;
}student;

student stu;

void save()
{

    FILE *fp;
    int i;

    if((fp = fopen("dat.txt","wb")) == NULL)
    {
      printf("无法打开此文件!\n");
      return;
    }


    for(i = 0; i < SIZE; i++)
        {
        fwrite(&stu, sizeof(student), 1, fp);       
        }
        fclose(fp);
}


void main()
{
    int i;
    for(i = 0; i < SIZE; i++)
      scanf("%s,%d,%d,%s",&stu.name,&stu.num,&stu.age,&stu.addr);
    save();
}

krakra 发表于 2015-8-9 00:00:53

//读取两个学生数据
#include<stdio.h>
#include<stdlib.h>
#define SIZE 2

typedef struct
{
        char name;
        int num;
        int age;
        char addr;
}student;

student stu;
int i;


void load()
{
        FILE *fp;
       
        if(!(fp = fopen("dat.txt", "rb")))//打开文件
        {
                printf("Cannot open the file!");
                return;
        }

        for(i = 0; i < SIZE; i++)
        {
                fread(&stu, sizeof(student), 1, fp);//读取数据块!
        }
        fclose(fp);
}


void main()
{
       
        load();
        for(i = 0; i < SIZE; i++)
        {
                printf("%s%d%d%s", stu.name, stu.num, stu.age, stu.addr );
        }
}

krakra 发表于 2015-8-9 00:02:42

运行第一个,再运行第二个 结果正确, 结果后面带着一串很长的数字,是那里出问题?
页: [1]
查看完整版本: 运行代码结果正确,但是其中混杂一些奇怪的一串数字