get_bankid.c

来自「API」· C语言 代码 · 共 57 行

C
57
字号
#include "macro_def.h"
/*
 *	获取联行行号(从卡号等)
 *
 * 周国祥 2001/04/13 Created
 */
int	get_bank_from_card(card_no, bank_id)
char	*card_no;
char	*bank_id;
{
	char	bank_type[5], card_type[3];
	char	province_code[3];
	char	bankid[12];

	bank_type[0] = '\0';
	card_type[0] = '\0';
	/* 根据卡类表取出银行类型、卡类型 */
	if (chk_card(card_no, bank_type, card_type) < 0) {
		strcpy(bank_id, "9999");
		return(-1);
	}
	if (strcmp(bank_type, BOC_BANK) != 0) {
		/* 非中行卡 */
		strcpy(bank_id, "9999");
		return(-1);
	}
	/*
	 * 目前中行卡号第一位为8,2-5位为行号
	 */
	if (card_no[0] == '8') {
		strncpy(bank_id, &card_no[1], 4);
		bank_id[4] = '\0';
		return(0);
	}
	/*
	 * 银行联网联合改造后第7-8位为各省代码,依据此获取发卡行号
	 */
	strncpy(province_code, &card_no[6], 2);
	province_code[2] = '\0';
	if (search_iss_bank_id(province_code, bankid) < 0) {
		strcpy(bank_id, "9999");
		return(-1);
	}

	strcpy(bank_id, bankid);
	return(0);
}

int	is_headquarter(bankid, hostid)
char	*bankid, *hostid;
{
	if (strncmp(bankid, "000", 3))
		return(-1);
	return(0);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?