Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    strtok

    codice:
    /* Divide una stringa in token dentro un array */
    char **strtok_array(char *str,const char *delim) {
    	int i,x,n;
    	char **opt;
    	char s[99];
    	/* Conta le righe */
    	for(i=0,x=1;i<strlen(str);i++) 
    		if(str[i]==delim[0]) x++;
    	/* Alloca un array di n elementi */		
    	if(!(opt = malloc(sizeof(char*)*x))) return NULL;
    
    	strcpy(s,strtok(str,delim));
    	/* Alloca il primo sotto array */
    	if(!(opt[0] = malloc(sizeof(char)*strlen(s)))) return NULL;
    	strcpy(opt[i=0],s);
    	/* Alloca e riempe i rimanenti sotto array */
    	while(1) { 
    		strcpy(s,strtok(NULL,delim));
    		if(s) {
    			if(!(opt[++i] = malloc(sizeof(char)*strlen(s)))) return NULL;
    			strcpy(opt[i],s);
    			opt[i][strlen(opt[i])] = '\0';
    		} return opt;
    	}
    }
    Questa funzione dovrebbe dividermi una stringa usando la strtok() mettendo i risultati in un array.
    Esempio. Stringa = "ciao\nscemo\n";
    opt[0] = "ciao"
    opt[1] = "scemo"

    Solo che quando passo una stringa così ad esempio
    Stringa = "ciao\n";
    non mi restutuisce neinte mentre invece dovrebbe solo darmi opt[0] = "ciao"

  2. #2
    tu non sei nuovo del forum...

    leggi il regolamento: http://forum.html.it/forum/showthrea...hreadid=588640

    la prossima volta, invece di modificare il titolo, chiudo la discussione.
    ...Terrible warlords, good warlords, and an english song

  3. #3
    ok, scusa era da molto che non venivo in questo forum e non avevo saputo le novità...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.