C语言 打开文件解决思路

C语言 打开文件
刚刚开始学C 好多地方不懂啊
下边的程序我是想让它打开我在D盘创建的文本文档,是txt格式的,"a.txt"。可是打不开啊~~~我哪里错了各位大哥大姐给瞅瞅呗。或者我应该怎样做?~~~先谢过啊。
#include<stdio.h>
#define SIZE 4
struct student_type
{
char name [10];
int num;
int age;
char addr[20];
}stud[SIZE];
void main()
{
int i;
FILE *fp;
fp=fopen("a","rb");
for(i=0;i<SIZE;i++)
{
fread(&stud[i],sizeof(struct student_type),1,fp);
printf("%-10s%4d%4d%-20s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);
}
fclose(fp);
}

------解决方案--------------------
使用绝对路径试试
FILE *fp;
fp=fopen("D:\\a.txt","rb");

------解决方案--------------------
完整路径
------解决方案--------------------
fopen第一个参数打开的文件名改成D:\\a.txt
你那是文本文件还是二进制的?
文本文件第二个参数就是r
二进制文件才是rb
最好加上提示语句
if(NULL==fp)
printf("打开文件出错\n");
if(fread(&stud[i],sizeof(struct student_type),1,fp != 1)
printf("读取文件出错\n");

------解决方案--------------------
FILE *fp;
fp=fopen("a.txt","rb"); 带上格式
if( fp ) 打开OK
{
}
else
perror("打开失败:");