Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [c] Aiuto su header.h

    Salve, vorrei chiedervi delle informazioni sulla formulazione dell'header in un programma..
    codice:
    //Metodi.h
    
    int nParole (FILE* , int );
    
    void Sort(FILE*,int ,int ,char[][]);                 --------ERRORE
    
    void Nu(FILE* , int ,int , char[][]);                --------ERRORE
    
    int World (char* );
    
    int OttiniEstensione(char*, char);
    
    void Comprimi(char*);
    
    void Decomprimi(char*);
    
    
    //Metodi.c
    int OttieniEstensione(char * filename, char estensione[])
    {
    	...
    }
    
    void Comprimi(char* filename)
    {
    	...
    }
    void Decomprimi(char* filename)
    {
    	...
    }
    int nParole (FILE* fp, int string_lenght) 
    {
            ...
    }
    
    void Sort(FILE* input, int nRar,int string_lenght, char lista[nRar][string_lenght] )
    {
            ...
    }
    
    void Nu(FILE* output, int nRar,int string_lenght, char lista[nRar][string_lenght] )
    {
            ...
    }
    
    int Worlds (char* percorso) 
    {
    	...
    }


    Mi da errore in quelle due righe del .h ...e mi dice " Conflicting types for 'Sort' " "previous declaration of 'Sort' was here.. e la stessa cosa me la da per Nu..

    ditemi voi come posso procedere...ciao ciao

  2. #2

  3. #3
    cioè?? mi potresti illuminare un po di più..che non sono molto pratico..e magari dirmi come si fa!!!!! grazie per avermi risposto

  4. #4

    Re: [c] Aiuto su header.h

    codice:
    //Metodi.h
    
    #ifndef METODI_H
    #define METODI_H
    
    int nParole (FILE* , int );
    
    void Sort(FILE*,int ,int ,char**);
    
    void Nu(FILE* , int ,int , char**);
    
    int World (char* );
    
    int OttiniEstensione(char*, char);
    
    void Comprimi(char*);
    
    void Decomprimi(char*);
    
    #endif
    
    ------------------------------------------------------------------------------------------------------------------------------
    
    //Metodi.c
    
    #include "Metodi.h"
    
    int OttieniEstensione(char * filename, char estensione[])
    {
    	...
    }
    
    void Comprimi(char* filename)
    {
    	...
    }
    void Decomprimi(char* filename)
    {
    	...
    }
    int nParole (FILE* fp, int string_lenght) 
    {
            ...
    }
    
    void Sort(FILE* input, int nRar,int string_lenght, char **lista )
    {
            ...
    }
    
    void Nu(FILE* output, int nRar,int string_lenght, char **lista )
    {
            ...
    }
    
    int Worlds (char* percorso) 
    {
    	...
    }

  5. #5
    ti ringrazio vivamente per avermi risposto...

    MA VA A PRENDERE DEI DATI IN DELLA MEMORIA SBAGLIATA

  6. #6
    la funzione è così

    codice:
    void Sort(FILE* input, int nRar,int string_lenght,char** lista )
    la chiamata:

    codice:
            FILE* input; //puntatori ai file di input e output
    	int string_lenght=256;			//LUNGHEZZA MAX DI UNA PAROLA
    	int nRar;						//NUMERO DI PAROLE
            char sorted_list [nRar][string_lenght];
    	
    	
             Sort(input,nRar,string_lenght,sorted_list);
    grazie ancora

  7. #7
    Hai sbagliato i tag CODE.
    Comunque come fai a sapere che va a prendere dati da una errata locazione di memoria ?
    Poi gli passi un puntatore non inizializzato ...

  8. #8
    lo vedo perchè quando faccio il debug mi va un una parte di codice assembly e non ne esce più...

    quanto faccio

    strcpy(lista[n],sorted_list[n]);

    sorted_list è una lista temporanea interna alla funzione Sort

  9. #9
    Originariamente inviato da galefabio
    codice:
     	int string_lenght=256;			//LUNGHEZZA MAX DI UNA PAROLA
    	int nRar;						//NUMERO DI PAROLE
            char sorted_list [nRar][string_lenght];
    nRar ha un valore indefinito, quindi il comportamento del tuo programma è indefinibile (in altre parole: se hai solo crash, puoi ritenerti decisamente fortunato).

    Oltre al fatto che:
    ISO C90 forbids variable-size array 'sorted_list'
    ;-)

  10. #10
    nRar non ha un valore indefinito perchè, prima di passarlo alla funzione Sort, tramite la funzione nParole mi ritorna nRar e quindi non può essere mai indefinito..

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.