想实现根据用户名从第一个字符串中找第二个字符串的相应位置做为注册码该怎么写。
比如字符串1为: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
字符串2为:AGCDFERIKU4596256453FDRgfsrnvfyuokdgv548DDD2E5V8E5D3E
想从字符串1中找出对应lgmgw的字符串2中的位置. 就象VB中的INSTR功能,VC该怎么写?
即输入LGMGW,对应的显示为5o4oE.
想实现根据用户名从第一个字符串中找第二个字符串的相应位置做为注册码该怎么写。
比如字符串1为: abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
字符串2为:AGCDFERIKU4596256453FDRgfsrnvfyuokdgv548DDD2E5V8E5D3E
想从字符串1中找出对应lgmgw的字符串2中的位置. 就象VB中的INSTR功能,VC该怎么写?
即输入LGMGW,对应的显示为5o4oE.
写了一个c风格的,c++中可以用map实现,我就不写了
[CODE]void Convert(char * szIn, char * szOut)
{
static char * szTableSrc = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
static char * szTableDst = "AGCDFERIKU4596256453FDRgfsrnvfyuokdgv548DDD2E5V8E5D3E";
int i;
while(*szIn)
{
i = 0;
while(szTableSrc[i] != *szIn)
i++;
*szOut = szTableDst[i];
szIn ++;
szOut ++;
}
*szOut = '\0';
}[/CODE]
用法:
[CODE] char szIn[] = "LGMGW";
char szOut[6];//或者根据szIn的长度来决定空间大小
Convert(szIn, szOut);[/CODE]