#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void ExtractTokens(char string[], int num, char *User, char *Password)
{
char *str1, *str2, *token, *subtoken;
char *saveptr1, *saveptr2;
int j, k;
for (j = 0, str1 = string; ; j++, str1 = NULL) {
token = strtok_r(str1, "<", &saveptr1);
if (token == NULL)
break;
if (j == num)
{
for (k = 0, str2 = token; ;k++, str2 = NULL) {
subtoken = strtok_r(str2, ">", &saveptr2);
if (subtoken == NULL)
break;
switch(k)
{
case 0:
strcpy(User, subtoken);
break;
case 1:
strcpy(Password, subtoken);
break;
}
}
printf("ExtractTokens - User = %s, Password = %s \n", User, Password);
break;
}
}
}
int main(void)
{
int i = 0;
char test[]="<ha>ha<Go>Go<Ya>Ya<La>La";
char test1[]="<ha>ha<Go>Go<Ya>Ya<La>La";
char User[128] = {'\0'};
char Password[128] = {'\0'};
for (i = 0; i < 4; i++ )
{
strcpy(test,test1);
ExtractTokens(test, i, User, Password);
printf("User = %s, Password = %s \n", User, Password);
}
}
Result
ExtractTokens - User = ha, Password = ha
User = ha, Password = ha
ExtractTokens - User = Go, Password = Go
User = Go, Password = Go
ExtractTokens - User = Ya, Password = Ya
User = Ya, Password = Ya
ExtractTokens - User = La, Password = La
User = La, Password = La
Reference:
0 意見:
張貼留言