Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: [C], rename()

  1. #1
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275

    [C], rename()

    Ciao a tutti, ho fatto una piccola funzione per rinominare un file, se presa singolarmente funziona, ma qquando la metto qui in questo programmino non funziona, mi dice "Si è verificato un errore nella rinomina di....", come mai?

    codice:
    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    
    void menu(void);
    void ren(void);
    
    int scelta;
    
    int main()
    {
       
       char v_nome[80], n_nome[80];
       struct tm *ptr;
       time_t lt;
    	lt=time(NULL);
       ptr=localtime(&lt);
       printf("\n\n");
       printf(asctime(ptr));
    
    	while(scelta!=9) {
    
       	menu();
          	switch(scelta) {
             	case 1:
                	printf("\nOperazione 1");
                   system("cls");
                break;
                .................
                    case 4:
                	ren();
                   
                break;
                case 5:
                   printf("dsfsd");
                   system("cls");
                   
                   ............                 
    
                     default:
                	printf("\nOperazione non valida\n");
                   system("pause");
                   system("cls");
                break;
             }
          }
       return 0;
    }
    void menu(void) {
    	printf("\n+-------------------+\n");
    	printf("| Stupid Editor 0.1 |\n");
       printf("+-------------------+\n");
    	printf("\n1- Crea nuovo file");
       printf("\n2- Leggi file esistente");
       printf("\n3- Unisci due file");
       printf("\n4- Rinomina file");
       printf("\n5- Elimina file");
       printf("\n6- Cambia modi del file");
       printf("\n7- Credit");
       printf("\n0- Termina programma");
       printf("\n\n");
       printf("Scegli operazione da compiere: ");
       scanf("%d", &scelta);
    }
    
    void ren(void) {
    
       	printf("Inserire il nome attuale del file: ");
    	gets(v_nome);
    	printf("Inserire il nuovo nome del file: ");
    	gets(n_nome);
    	
    	if(rename(v_nome, n_nome)==0)
    		printf("%s è stato rinominato %s\n", v_nome, n_nome);
    	else
    		fprintf(stderr, "Si è verificato un errore nella rinomina di %s\n", v_nome);
    	
    }
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  2. #2
    così funzia
    codice:
    #include <stdio.h>
    #include <time.h>
    #include <stdlib.h>
    
    void menu();
    void ren();
    
    int scelta;
     
    void main(){
        
        struct tm *ptr;
        time_t lt;
        lt=time(NULL);
        ptr=localtime(&lt);
        printf("\n\n");
        printf(asctime(ptr));
    
        while(scelta!=9){
    
            menu();
            		
    	switch(scelta){
                case 1:
                    printf("\nOperazione 1");
                    break;
                case 4:
                    ren();
                    break;
                case 5:
                    printf("dsfsd");
                    break;   
                case 9:
                    printf("Premi un tasto per uscire dal programma");
    		break; 
    	    default:
                    printf("\nOperazione non valida\n");
                    system("pause");
                    
            }
        }    
    }
    
    void menu(){
        system("cls");
        printf("| Stupid Editor 0.1 |\n");
        printf("\n1- Crea nuovo file");
        printf("\n2- Leggi file esistente");
        printf("\n3- Unisci due file");
        printf("\n4- Rinomina file");
        printf("\n5- Elimina file");
        printf("\n6- Cambia modi del file");
        printf("\n7- Credit");
        printf("\n9- Termina programma");
        printf("\n\n");
        printf("Scegli operazione da compiere: ");
        scanf("%d", &scelta);
    }
    
    void ren(){
        char v_nome[80], n_nome[80];
        printf("\nInserire il nome attuale del file: ");
        scanf("%s",v_nome);
        printf("Inserire il nuovo nome del file: ");
        scanf("%s",n_nome);
        if(rename(v_nome, n_nome)==0)
            printf("\nIl file \"%s\" e\' stato rinominato in \"%s\"\n\n", v_nome, n_nome);
        else
            fprintf(stderr, "\nSi e\' verificato un errore nella rinomina del file \"%s\"\ncontrollare che il file origine esista!!!\n\n", v_nome);
        system("pause");
    }
    P.S. cosa dovrebbe fare la struttura tm ???

  3. #3
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275
    grazie J. mi aiuti sempre

    struct tm *ptr;
    time_t lt;
    lt=time(NULL);
    ptr=localtime(&lt);
    printf("\n\n");
    printf(asctime(ptr));

    non fa altro che visualizzare l'ora corrente definita dal sistema
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  4. #4
    P.S.

    a me questo passaggio da ERRORE!!!

    ptr=localtime(<);

    correggilo in questo modo:

    ptr=localtime(&lt);

    N.B. anche se non ho capito cosa dovrebbe fare :gren:

  5. #5
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275
    si ti da errore perchè non so il motivo ma quando scrivo la funzione mi si sosituisce con < uff

    struct tm *ptr;
    time_t lt;
    lt=time(NULL);
    ptr=localtime(&_lt); // senza il _ lo metto altrimenti da <
    printf("\n\n");
    printf(asctime(ptr));
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  6. #6
    :quote:
    e questo cavolo di editor che mi formatta il testo
    e mi sostituisce & l t <-- uniti nauturalmente
    in <

    Forse è quello che è successo anche nel tuo codice

  7. #7
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275
    eh si cmq ti funziona ora?
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  8. #8
    [code]struct tm *ptr;
    time_t lt;
    lt=time(NULL);
    ptr=localtime(& l t); <--senza spazi
    printf("\n\n");
    printf(asctime(ptr));
    system("pause"); <-- altrimenti non visualizzi nulla

  9. #9
    Utente di HTML.it L'avatar di D4MI4NO
    Registrato dal
    Sep 2001
    Messaggi
    275
    eheh nel mio caso si vedeva perchè c'era il while

    cmq se ti interessa puoi usare anche gmtime così hai l'ora locale dell'UTC
    ...anche se la strada è dura...se stiamo assieme...arriveremo su quella cosa chiamata luna...

  10. #10
    P.s. si anche io nell'esempio sopra avevo messo un while
    solo che quando chiama la funzione menu()

    c'è subito un system("cls") che cancella lo schermo
    e quindi niente data-ora di sistema a video

    ... mi sto documentando proprio in questo momento
    sulle funzioni time(), ctime(), localtime() gmtime() ecc...

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.