Originariamente inviato da magicofred
Ciao a tutti, volevo sapere se in c è possibile sapere quale di alcuni caratteri viene per prima, ad esempio
char array[10] = "ciao>cucu<bla";
se io volessi sapere quali dei caratteri ">" , "<" viene prima come posso fare?
in questo caso la risposta è ">".
naturalemnte vorrei una soluzione + elegante di un ciclo for che va dall'inizio dell'array fino alla fine e fa il confronto di ogni carattere...
codice:
#include <stdio.h>
#include <string.h>
char find_first_char (char *str, char *chrset)
{
size_t len;
len = strcspn (str, chrset);
return str[len];
}
int main (void)
{
char c;
c = find_first_char ("ciao>cucu<bla", "><");
if (c != '\0')
printf ("Trovato carattere %c\n", c); /* stampa > */
c = find_first_char ("hello <ciao>", "><");
if (c != '\0')
printf ("Trovato carattere %c\n", c); /* stampa < */
return 0;
}
Più elegante di questa .... non saprei.