string do tablicy

0

Jak rozdzielić stringa "jeden,dwa,trzy,cztery,pięć,sześć,siedem" do tablicy tak aby separatorem był przecinek. I najlepiej tak że jak z stringu jest 7 takich grup robi tablice 7-elementową a jak 12 tablice 12-elementową. Chodzi o coś takiego jak w PHP :|

/* Napisać "grup" 100 razy na tablicy :) */

0

strtok+F1 :P

0

grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup
grup grup grup grup grup grup grup grup grup grup

zdałem psorze - czy spotkamy się na sesji poprawkowej :P

THX za opd.

0

OK.

Zajrzałem do helpa i poszukałem w necie ale nie wiem za bardzo jak tą funkcje zastosować - prosze i jakiś przykład [stuk]

1

ja tam bym po prostu whilem dwa razy to przelecial ;p
kod BEZ sprawdzania bledow

const char *parse_me_oh_parse_me = "ala,ma,kota,kot,jest,ladny,czarny,i,dumny";

char **
funkcja_parsujaca( const char* a )
{
  const char *parser_pointer = a;
  int elementow = 0, wielkosc_max = 0, i,j;
  char **tablica;
  
  
  /* pierwszy przelot */
  i = 0;
  while( *parser_pointer )
  {
     if( *parser_pointer == ',' )
     {
        if( wielkosc_max < i ) wielkosc_max = i;
        i = 0;
        elementow++;        
     } else i++;
     parser_pointer++;
  }
  elementow ++;
  wielkosc_max++;
 
  /* alokacja */
  *tablica = (char*)malloc( elementow * (wielkosc_max) );
  for( i = 1; i < elementow; i++ ) { tablica[i] = &tablica[ i * wielkosc_max ];
  
 /* parsing wlasciwy */
  i = 0; j = 0;
  parser_pointer = a;
  while( *parser_pointer )
  {
    if( *parser_pointer == ',' )
    {
       i++;
       j=0;
    } else tablica[i][j] = *parser_pointer;
    parser_pointer++;
 
  return tablica;
  }
}

ofc potem to wymaga free..
i uzywaja strtok by mozna to krocej zapisac.. ale tak bedzie szybciej

pokoj, Gynv

0

Mozna by jesio zrobic to za pomoca petelki ze sscanf(text,"%s,",wyraz); po wczesniejszym sprawdzeniu ilosci tych przecinkow :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1