Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    E lo so ho letto che in tanti sconsigliano il goto sia in cicli che negli switch, ma come posso fare a dire
    codice:
    ifresnull:
    res=fgets(buf, 2200, fp1);
    	if( res==NULL )
    	{
    	//fai questo quando non trovi più niente
    	}
    	else
    	{
    		fprintf(fpcopia, "%s", buf);
    		goto ifresnull;
    	}
    un altra soluzione sarebbe un ciclo for ma dovrei sapere quante sono le restanti righe e questo comporterebbe almeno un'altra variabile no?

  2. #12
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Impostala così

    codice:
    res=fgets(buf, 2200, fp1);
    inizio ciclo (ripeti se res non è null)
    	fprintf(fpcopia, "%s", buf);
    
            res=fgets(buf, 2200, fp1);
    fine ciclo
    
    	//fai questo quando non trovi più niente
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #13
    ok quindi un while?

  4. #14
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Sì ... prova
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #15
    ok grazie mille il ciclo while è andato alla grande ora rimane solo una perplessità levo anche negli switch case nell'ultima opzione per uscire il "goto fine"?dopo il goto fine c'è solo un ultimo rename di un file, me lo sconsigli anche qui?

  6. #16
    Il goto è sempre sconsigliato. (Forse l'unico caso in cui è accettabile è per il cleanup delle variabili locali in caso di errore, caso che scompare in C++ grazie alla RAII)
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #17
    Ok grazie mille per l'aiuto e i chiarimenti alla prossima

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.