|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jul 2006
Messaggi: 38
|
[C] Esiste una funzione che shifta una stringa a sinistra?
Ciao,
in C esiste una funzione della libreria string.h che mi shifta una stringa a sinistra di x posizioni Per esempio io ho la stringa: " blablabla" avente 3 spazzi all'inizio...mi servirebbe una funzione a cui passo il puntatore alla stringa e il numero di shiftamenti a sinistra che devono essere effettuati (per esempio 3 per togliere gli spazzi) e che mi modifica la stringa in "blablabla" oppure se ho la stringa "blablabla" senza spazzi all'inizio gli passo la stringa e il valore 3 e mi ritorna la stringa "blabla" togliendo i primi 3 caratteri ma mantenendo inalterata la posizione del '\0' terminatore di fini stringa subito dopo l'ultima a Grazie |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
Prima di tutti l'italiano: spazi e non spaZZi
Ora veniamo al C Invece di usare un array fisso, usa un puntatore a char * allocato poi con malloc, e lo "shift" te lo fai a manozza, così dichiarazione Codice:
char *string; string=(char*)malloc(SIZE); Codice:
string += N; Codice:
string[strlen(string)-N]='\0'; |
|
|
|
|
|
#3 | |
|
Member
Iscritto dal: Jul 2006
Messaggi: 38
|
Quote:
|
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Nov 2004
Messaggi: 357
|
eh appunto, ti basta sommare l'offset he vuoi al puntatore
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:13.



















