Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C] array di caratteri

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    5

    [C] array di caratteri

    Salve a tutti. Ho un problema con gli array di caratteri...

    Sto facendo un progetto per un esame, devo sviluppare un gioco in C...in questo progetto lavoro con stringhe e array di caratteri quindi...
    Riassumendo mooooolto brevemente, lascio inserire al primo giocatore due strighe di caratteri. Su queste devo svolgerci determinate operazioni, ma non devo modificare le stringhe inserite dall'utente, quindi ho pensato di creare un array temporaneo e copiarci tutto dentro...

    /************************************************** **************
    for(k=0; k<strlen(primaParola); k++)
    temp[k]=primaParola[k];

    //ad esempio, di seguito mi serve concatenare la prima parola con la seconda senza modificare cosi la prima

    strcat(temp,secondaParola);

    ************************************************** ***************/

    il mio problema è:

    Come "svuoto" temp una volta che ho finito di usarlo?
    Al giro successivo, cioè quando il turno è passato al secondo giocatore, quando ritorno al for, primaParola è quella inserita ora dal secondo utente, ma temp in memoria ha ancora primaParola inserita dal primo utente, nel collegarle mi fai poi un casino assurdo....

    Non so se mi sono spiegata... :master:

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    delete[] temp

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    5
    grazie per la rapidità, provo subito

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    5
    delete [] temp è corretto...solo che io lavoro con C e non C++...

  5. #5
    Originariamente inviato da sunstar
    delete [] temp è corretto...solo che io lavoro con C e non C++...
    Se temp è un array vero, allora setta il suo primo carattere a 0;
    codice:
    temp[0]=0;

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    5
    Al giro seguente, quando digito altre parole, temp mi viene sovrascritto, mi spiego:
    se avevo una stringa in temp lunga 5 caratteri e ora ne inserisco una lunga 3, alla fine mi trovo i primi 3 caratteri nuovi e 2 caratteri della stringa vecchia....e questo non deve succedere...
    quando scrivo la stringa di 5 caratteri, poi temp deve essere svuotato, quando in un secondo momento inserisco la stringa lunga 3, non devo avere quei 3 caratteri PIU' i caratteri delle stringhe vecchie...

    ho pensato a una malloc e free ogni volta, ma non funziona...

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Dovresti settare tutti gli elementi dell'array a 0:
    codice:
    int i = 0;
    for(i=0; i<[lunghezza_array]; i++) temp[i] = 0;
    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    5
    ok...ho risolto....più che 0...

    supponendo che sia temp[100]

    for(k=0; k<100; k++)
    temp[k]='\0';



  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Originariamente inviato da sunstar
    ok...ho risolto....più che 0...

    supponendo che sia temp[100]

    for(k=0; k<100; k++)
    temp[k]='\0';


    Sì, è la stessa identica cosa... il carattere '\0' altro non è che l'intero 0.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.