Consideriamo questa funzione ho scritto reale veloce per trovare l'ultima occorrenza di un determinato carattere in una stringa e restituire la sua posizione all'interno della matrice di caratteri che è fisicamente la stringa:modo più efficace per trovare dell'ultima occorrenza char
size_t strlstchar(const char *str, const char ch)
{
char *chptr = strrchr(str, ch);
return chptr - str;
}
L'ho appena scritto molto velocemente qui (non ho ancora compilato o richiesto) solo perché ho delle domande su alcune cose.
Per me questa sembra la soluzione più semplice per trovare quale elemento dell'array contiene l'ultima istanza di un particolare char, ma non ho idea di come funzioni. L'ho appena fatto seguendo la documentazione di strrchr, quindi è tecnicamente strrchr a fare tutto il lavoro. Non riesco a immaginare che questo sia il modo migliore (in termini di prestazioni) per raggiungere questo obiettivo e speravo che qualcuno potesse dare qualche input su quale sarebbe il modo migliore per farlo.
È strrchr un modo efficace per farlo? O è meglio lo strrchr meglio per qualche altro uso?
strrchr può restituire NULL, rendendo così difficile prevedere il risultato della funzione quando non riesce a trovare il carattere. In genere "-str" può essere visto come un numero casuale, quindi convertito in size_t, come saprai che non hai trovato il char? – xryl669