Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
"run" di eclipse VS. "run" di DDD
Nuovo argomento   Rispondi    Indice del forum -> Programmazione
Precedente :: Successivo  
Autore Messaggio
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 09 Set 2008 19:22    Oggetto: "run" di eclipse VS. "run" di DDD Rispondi citando

sempre dietro al programmino che sto facendo (v. "analizzare file di testo in c") mi chiedevo come sia possibile che se eseguo il main() dal "run" di eclipse l'uscita è regolare e l'allocazione della memoria per una struct avvenga con successo(ho fatto una stampa del valore di fopen()) mentre con il run del debugger l'allocazione non ha succcesso e non riesce ad aprire un file(di configurazione) che invece eclipse apre tranquillamente. Tale file è nella cartella coi sorgenti e viene richiamato per nome da fopen().

Che sbaglio?
Grazie.
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 09 Set 2008 23:18    Oggetto: Rispondi citando

Mah, è strano.
Non è che durante il debug setti qualche variabile che ti incasina il tutto?

Fammi capire: se tu esegui con il run del codice tipo:
Codice:

...
FILE *ptr;
if ((ptr=fopen("/home/documenti/pippo.txt","r"))==NULL)
{
   puts("Errore di lettura!");   
}
...
fclose(ptr);

funziona ma con il debug no?
Top
Profilo Invia messaggio privato
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 10 Set 2008 08:37    Oggetto: Rispondi citando

MMM... non è che è necessario metterci il path nella stringa del nome del file per fopen() ???
Non ho settato variabili... non so a cosa ti riferisci di preciso.

Io ho messo semplicemente
in NEW_GAME(...):
Codice:

 game_t *new_game(char *file_config, char *file_log)
{
game_t *new_g;
FILE *f_conf;
FILE *f_log;

f_log = fopen(file_log,"a");
f_conf = fopen(file_config,"r");
    ........}


in MAIN:
Codice:

...
ogame = new_game("conf.txt","log.txt"); <<-------- senza path
...

magari eclipse lo vede perchè tale file è nella cartella coi sorgenti ed è associato al progetto e invece il ddd non lo vede??? (anche se dovrebbe risolvere il nome, comunque!!!)
Top
Profilo Invia messaggio privato
freemind
Supervisor sezione Programmazione
Supervisor sezione Programmazione


Registrato: 04/04/07 21:28
Messaggi: 4643
Residenza: Internet

MessaggioInviato: 10 Set 2008 19:57    Oggetto: Rispondi citando

Quando è possibile è sempre meglio mettere il path assoluto.
Top
Profilo Invia messaggio privato
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 10 Set 2008 21:46    Oggetto: Rispondi citando

In realtà (quando non avrò più problemi con il codice) prenderò il nome dei file da riga di comando
il mio programma partirà digitando dalla shell (ubuntu - linux) una cosa tipo

mygame file_config.txt file_log.txt

che leggerò da argv[1] e argv[2] del main()

PS. ora come ora ho un problema con le stringhe, ho postato in "stringa capricciosa"... hai mica qualche buona idea in proposito???

Grazie, gentilissimo come sempre.
Top
Profilo Invia messaggio privato
saetta
Eroe in grazia degli dei
Eroe in grazia degli dei


Registrato: 25/02/08 11:52
Messaggi: 129

MessaggioInviato: 14 Set 2008 16:53    Oggetto: Rispondi

con DDD si, ci vuole il path assoluto, così mi apre i file e mi esegue come eclipse..
grazie Laughing
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Programmazione Tutti i fusi orari sono GMT + 2 ore
Pagina 1 di 1

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi