大家帮忙看下这个文件操作的程序,多谢

大家帮忙看下这个文件操作的程序,谢谢!
jgxx.txt内容为:
BEGIN
07|101|资金营运中心|
08|101|专业处理中心|
08|102|总行财务机构|
END


#include   <stdio.h>
#include   <stdlib.h>
#include   <string.h>

struct   Bank
{
char   areaId[5];
char   bankId[5];
char   name[20];
}bank;

int   main(int   argc,   char   *argv[])
{
char   str[50];
FILE   *fp;
if((fp   =   fopen( "/gapstest/file/jgxx.txt ", "rt "))   ==   NULL)
{
printf( "open   file   error! ");
exit(1);
}

while(1)
{
if(fgets(str,sizeof(str),fp)   !=   NULL)
{
/*字符串分割*/
char   seperator[]= "| ";
char   *token   =   NULL;
token   =   strtok(str,seperator);
if(   token   ==   "BEGIN "   ||   token   ==   "END "   )
{
printf( "lsdjflsdfj ");
continue;
}
else
{
strcpy(bank.areaId,token);
printf( "%s\n ",bank.areaId);
token   =   strtok(   NULL,   seperator   );
strcpy(bank.bankId,token);
printf( "%s\n ",bank.bankId);
token   =   strtok(   NULL,   seperator   );
strcpy(bank.name,token);
printf( "%s\n ",bank.name);
}
}
else
{
break;
}
}
fclose(fp);
return   0;
}

为什么第一行的BEGIN和末尾的END,还是打印出来。第一行token   ==   "BEGIN "怎么不为真呢?

------解决方案--------------------
"BEGIN "是个字符串常量,token是个指针,如果它们相等,那么说明token指向了“BEIGN”这个字符串的地址,你觉得能相等吗?
------解决方案--------------------
if( token == "BEGIN " || token == "END " )
=========
if( strcmp(token, "BEGIN ") == 0 || strcmp(token, "END ") == 0 )
字符串比较用strcmp,你写的那个是指针比较啦,而不是字符串比较