01. december 2001 - 13:12Der er
2 kommentarer og 1 løsning
Split af string?
Hej Er der en der kan hjælpe mig med et problem ? Jeg har en tekststreng \"INDHOLD*1*53*5\" hvordan splitter jeg denne string op de steder hvor \"*\" optræder og hvordan lægger jeg disse ud i arrays fx split[0] (= \"INDHOLD\") split[1] (= \"1\") split[2] (= \"53\") split[3] (= \"5\")
Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
int main(void) { clrscr(); char input[16] = \"abc*d\"; char *p;
/* strtok places a NULL terminator in front of the token, if found */ p = strtok(input, \"*\"); if (p) printf(\"%s\", p);
/* A second call to strtok using a NULL as the first parameter returns a pointer to the character following the token */ p = strtok(NULL, \"*\"); if (p) printf(\"%s\", p); return 0; }
Hvis du har et fast antal, som der skal splittes ud i, kan du nemt bruge sscanf:
int n = sscanf(\"INDHOLD*1*53*5\", \"[^*]*[^*]*[^*]*[^*]\", split[0], split[1], split[2], split[3]); if (n==4) { // Huraa!!, fandt de 4 elementer }
Har du et ukendt antal elementer, skal der bruges en løkke og f.eks. strok().
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.