Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2008
    Messaggi
    1,317
    A dir la verità non cambia quasi per niente in quanto mi ero concentro nel far funzionare la funzione, però in linea di massima dovrebbe essere:

    codice:
    #include <string.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    char** explode(char sep, char *prova);
    
    int main (void)
    {    
        char **new;
        
        new = explode(',', "-1,-1,2,3,5,6,7,8,9");
       
        return 0;
    }
    
    char** explode(char sep, char *prova) {
        int elem = 0, i = 0, i2 = 0;
        //char *prova = "-1,-1,2,3,5,6,7,8,9";
        char *tmp = NULL;
        char **ret = NULL;
        
        for (; i < strlen(prova); i++) {
            if (tmp != NULL) {
                tmp = (char *)realloc(tmp, (strlen(tmp) + 1) * sizeof(char));
            } else {
                tmp = (char *)malloc(1 * sizeof(char));
            }
            
            tmp[i] = *(prova+i);
    
            if (*(prova+i) == sep) {
                elem += 1;
    
                if (ret == NULL) {
                    ret = (char **)malloc(elem * sizeof(char));
                } else {
                    ret = (char **)realloc(ret, (strlen(*ret) + 1) * elem * sizeof(char));
                }
                
                ret[elem -1] = (char *)malloc(strlen(tmp) * sizeof(char));
                
                for (; i2 < (strlen(tmp)-1); i2++) {
                    strcpy(ret[elem - 1], tmp[i2]);
                    
                }
                
                free(tmp);
                tmp = NULL;
                
            }
        }
        
        free(tmp);
        
        printf("\nElementi: %d\n", (elem+1));
        
        return ret;
    }
    Ultima modifica di zacca94; 18-06-2017 a 22:24

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 © 2025 vBulletin Solutions, Inc. All rights reserved.