链表和文件存取函数运用

蔡文豪 发布于 2013/05/27 18:08
阅读 253
收藏 0

创建一个学生结构体链表,包含姓名和学号,能够用查询的方式把特定学号的学生信息用文件函数从文件中打印到屏幕上吗?有没大神回答下(c语言、c++都行),例如:

#include<stdio.h>

#include<malloc.h>

struct student

{  

    char name[10];

    long id;

    struct student *next;  

};

typedef struct student stu;

int mian()

{

    stu *p;

    long num;

    FILE *fp;

    p=(stu *)malloc(sizeof(stu));

    if((fp=fopen("文件名。txt","r")==NULL){  

    printf("文件不存在“);

    printf("请输入您要查询信息的学号:");

    scanf("%ld",&num);

    while(p&&p->id!=num)

        p=p->next;

    fscanf(fp,"%s%ld",p->name,&p->id);

    printf("%s%ld",p->name,&p->id);

    return 0;

}

我用这种方式,为什么编译器什么错误信息没给,运行时就是进不了查询功能了,大神麻烦回答下啊!谢谢!


加载中
0
Hyacinthus_M
Hyacinthus_M
这代码真心问题太多.
0
Hyacinthus_M
Hyacinthus_M
文件打开出错了,你继续操作有用?打开出错就得异常中止,或者freopen()文件,否则你下面的操作有意义?
蔡文豪
蔡文豪
回复 @Hyacinthus_M : 切,调试不出来啊,我不问了,不麻烦你了,还惹人喷
Hyacinthus_M
Hyacinthus_M
回复 @蔡文豪 :问题又交待不清楚, 又不想贴代码, 又不会GDB去调试,你活着干嘛?
蔡文豪
蔡文豪
回复 @Hyacinthus_M : 代码太长了,怕你没耐心看
Hyacinthus_M
Hyacinthus_M
@蔡文豪 你还是把学有源码上传吧. 至少我看到代码问题那那样的.
蔡文豪
蔡文豪
真心没看出来,这只是我为了说明我的问题而写出来的简短程序而已,可能不小心写错什么,我是想证实,用fscanf是否可以把指针p指向的信息打印出来而已
下一页
0
leo108
leo108
程序错误有两类,语法错和逻辑错,编译器只会告诉你语法错,逻辑错就靠自己调试吧
返回顶部
顶部