PDA

Visualizza la versione completa : Problema array in C


xmath
11-08-2017, 16:28
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).

LeleFT
11-08-2017, 16:39
Posta almeno la parte di codice rilevante per il tuo problema, in modo da poter capire l'errore che commetti.


Ciao. :ciauz:

xmath
11-08-2017, 16:49
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:).

LeleFT
11-08-2017, 17:07
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:



// 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. :ciauz:

xmath
11-08-2017, 17:18
E io che mi complicavo la vita, invece era semplicemente questo. Mannaggia a me.
Grazie mille:unz:

Loading