PDA

View Full Version : [C] cercare in una stringa con strchr()


frank10
26-10-2010, 17:57
Voglio controllare se in un array char esiste il carattere 0. Per questo uso la funzione strchr().

Se faccio così, funziona:


char s[8] = "11101111";

char *p;
p = strchr(s, '0');

if (p == NULL)
{
printf("nullo tutti 1111\n");
}

ma così non va:



char s[8];

for (i=1 ; i<9 ; i++)
{
s[i] = 1; //neppure con s[i] = '1';
if (i ==3) s[i] =0; // o s[i] = '0';
}

char *p;
p = strchr(s, '0');

if (p == NULL)
{
printf("nullo tutti 1111\n");
}
mi dà p = null anche se c'è uno 0 nella stringa.

frank10
26-10-2010, 18:07
EDIT

Poi non funziona se metto dei numeri:

s[i] = 1; non va
mentre così va:
s[i] = '1';

frank10
26-10-2010, 18:32
Mettendo


int u = 1 ;
char *p;
p = strchr(s, u);


Funziona anche con i numeri inseriti con:
s[i] = 1 senza virgolette: '1'.

manuel17787
27-10-2010, 13:30
ma quindi la domanda qual è?

frank10
27-10-2010, 13:39
Bè, inizialmente non riuscivo a farlo andare assegnando degli interi nell'array, poi ho scoperto e postato come fare.

Praticamente, provando mentre aspettavo una risposta, mi sono risposto da solo ;)