Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problema array in C

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2017
    Messaggi
    3

    Problema array in C

    Salve, ho necessità di, dopo aver usato un array di caratteri/simboli, di cancellarne il contenuto e ottenere così un array completamente vuoto (nel senso che se faccio una printf mi stampi a schermo una riga vuota). Purtroppo non mi viene in mente nessuna soluzione per farlo e dopo ore di tentativi mi ha dato sempre come esito o errori di compilazione o output a schermo di simboli casuali, tanti quanti i simboli il numero di simboli del precedente array. Grazie in anticipo.

    PS. Devo usare solo le librerie strandard di c (assert.h, stype.h, errno.h, float.h, math.h, stddef.h, stdio.h, stdlib.h, string.h, time.h).

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,137
    Posta almeno la parte di codice rilevante per il tuo problema, in modo da poter capire l'errore che commetti.


    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

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2017
    Messaggi
    3
    Il problema non è un errore vero e proprio. Quello che chiedo è se conoscete come fare per cancellarne il contenuto di un array e ottenerne così uno completamente vuoto. Gli errori che ho detto erano miei tentativi falliti per ottenere una array vuoto.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,137
    Dipende da cosa intendi per "vuoto". Un array di caratteri altro non è che una contigua allocazione di N caratteri... generalmente per "vuoto" si intende un array che contiene N valori a 0; in questo caso basta assegnare a ciascuna posizione tale valore:

    codice:
    // Supponendo che l'array abbia lunghezza N
    for(int i=0; i<N; i++) mioArray[i] = '\0';
    
    // o, equivalente, ma più performante
    memset(mioArray, '\0', N);

    Ciao.
    Ultima modifica di LeleFT; 11-08-2017 a 17:10
    "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

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2017
    Messaggi
    3
    E io che mi complicavo la vita, invece era semplicemente questo. Mannaggia a me.
    Grazie mille

Tag per questa discussione

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 © 2020 vBulletin Solutions, Inc. All rights reserved.