PHP Forum - Coding Board
Juni 18, 2018, 03:18:54 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: Einfaches Array Parsing Beispiel  (Gelesen 96 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Syler
Sr. Member
****
Beiträge: 467



Profil anzeigen E-Mail
« am: September 19, 2008, 07:51:03 »

Code:
/*
Dynamic array / parsing example by KriPpLer
*/
#include <windows.h>

#include <cstdio>
#include <string.h> //For strok() function


char **Explode(char *StrIn, const char *Delimiter);

int main ()
{
  char data[] =&quot;1||2||3||4||5||6||7||8||9||10||11||12||13||14||15||16&quot;; //Data to parse
  char **pToken; //Pointer to our dynamic char array
  int  c = 0;

  printf (&quot;================================================================\n&quot;);
  printf (&quot;Data : %s\n&quot;,data);
  printf (&quot;================================================================\n&quot;);
 
  pToken = Explode(data,&quot;||&quot;); //

  while(pToken[c] != 0)  //(While current <> null)
  {
    printf(&quot;str[%d] = %s\n&quot;, c,pToken[c]);
    ++c;                  
  }

  free(pToken); //Free up the array
  printf (&quot;================================================================\n&quot;);

  for (;;){ //Loop until closed by user
  Sleep(1000);
  }

  return 0;
}

char **Explode(char *StrIn,const char *Delimiter)
{
  int   iSize = 10;
  char *strInBuf;
  char **strOutBuf = (char **)malloc(sizeof(char *) * (iSize + 1));
  int   c = 0;

  strInBuf = strtok(StrIn, Delimiter);
  while(strInBuf != 0)
  {
    if(c == iSize)
    {
      iSize += 10;
      strOutBuf = (char **)realloc(strOutBuf, sizeof(char *) * (iSize + 1));
    }
    strOutBuf[c] = strInBuf;
    strInBuf = strtok(0, Delimiter);
    ++c;
  }
  strOutBuf[c] = 0;
  return strOutBuf;
}


Syler
Gespeichert


Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS