OK mga bai.. thankz ninyo..
Ang ako man jud buhaton kay ingon ani:
naa ko'y struct:
struct A
{
char A1[10];
char A2[10];
char A3[10];
};
nya based sa ani nga data "A1:1;A2:2;A3:3;"
gusto nako nga:
A.A1 = 1
A.A2 = 2
A.A3 = 3
So karon, ang akong buhaton kay akong isplit using delims ";:"...
so ang mahitabo sa akong loop kay:
A1
1
A2
2
A3
3
Ang ako nalang buhaton kay naa ko'y flag sa tulo: A1Flag, A2Flag, ug A3Flag...
Gi-ing ani nako:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct A
{
char A1[10];
char A2[10];
char A3[10];
};
int main()
{
char data[] = "A1:1;A2:2;A3:3";
char delims[] = ":;";
char *result = NULL;
result = strtok (data, delims);
struct A TheA;
int A1Flag = 0;
int A2Flag = 0;
int A3Flag = 0;
while (result != NULL)
{
if (A1Flag == 1)
{
strcpy(TheA.A1, result);
A1Flag = 0;
}
else if (A2Flag == 1)
{
strcpy(TheA.A2, result);
A2Flag = 0;
}
else if (A3Flag == 1)
{
strcpy(TheA.A3, result);
A3Flag = 0;
}
if(strcmp(result, "A1") == 0)
A1Flag = 1;
else if(strcmp(result, "A2") == 0)
A2Flag = 1;
else if(strcmp(result, "A3") ==0)
A3Flag = 1;
result = strtok (NULL, delims);
}
printf ("A1 = %s\n", TheA.A1);
printf ("A2 = %s\n", TheA.A2);
printf ("A3 = %s\n", TheA.A3);
}
Ang Output is like this:
A1 = 1
A2 = 2
A3 = 3
It's working fine na.. Tinamban lang...hehehe.. Basin naa mo nindot idea diha, share lang ninyo.. Salamat...