PDA

Visualizza la versione completa : [C] Come estrarre una sottostringa


andry85
12-03-2007, 13:38
Scusate sapreste dirmi come faccio ad estrarre una sottostringa?? Ad esempio:
stringa="Hprova"
io voglio estrarre solo la stringa "prova" ovvero dalla posizione 1 della stringa fino alla fine. C'è una funzione specifica che fa questo lavoro? Grazie.

oregon
12-03-2007, 14:01
La strcpy ti basta ...

andbin
12-03-2007, 14:21
Originariamente inviato da andry85
Scusate sapreste dirmi come faccio ad estrarre una sottostringa?? Ad esempio:
stringa="Hprova"
io voglio estrarre solo la stringa "prova" ovvero dalla posizione 1 della stringa fino alla fine. C'è una funzione specifica che fa questo lavoro? Grazie. char *stringa="Hprova";
char *sub = stringa+1;
:D

Comunque dipende molto da cosa devi poi fare di preciso.

andry85
12-03-2007, 14:58
Ah ok grazie. Nel caso volessi fare un controllo del tipo verificare che dopo il carattere "H" ci sia effettivamente un numero(infatti la stringa viene passata da tastiera) come si deve fare?
es:
"H16" // ok perchè 16 è un numero
"Hjk" // NO jk non è un numero
Grazie

andbin
12-03-2007, 15:08
Originariamente inviato da andry85
Ah ok grazie. Nel caso volessi fare un controllo del tipo verificare che dopo il carattere "H" ci sia effettivamente un numero(infatti la stringa viene passata da tastiera) come si deve fare?
es:
"H16" // ok perchè 16 è un numero
"Hjk" // NO jk non è un numero
Grazie
#include <ctype.h>

int is_number (char *str)
{
char c;
while ((c = *str++) != '\0')
if (!isdigit (c))
return 0;

return 1;
}
Poi es.:

if (is_number (stringa+1))
blabla
else
blabla

Loading