PDA

Visualizza la versione completa : [C] Inserire nuove lettere in una stringa esistente


ste9
07-11-2017, 19:55
Ciao,
volevo chiedere possibile aggiungere lettere ad una stringa, se si come?

oregon
07-11-2017, 22:21
Ciao,
volevo chiedere possibile aggiungere lettere ad una stringa, se si come?

Puoi usare la strcat ma meglio che ci mostri il codice e ci spieghi meglio ...

ste9
07-11-2017, 23:33
Puoi usare la strcat ma meglio che ci mostri il codice e ci spieghi meglio ...

Ringrazio per la risposta
Il mio obiettivo ad esempio quello di aggiungere una lettera prima di ogni vocale ad esempio.. necessario quindi creare due stringhe ma come faccio ad usare strncat

oregon
08-11-2017, 05:53
Questo diverso, non aggiungere ma inserire e la strcat non serve.


Se puoi usare una seconda stringa, fai una copia della prima parte, metti la lettera e copi la seconda parte.

Mostra del codice, per capirci.

feded
11-11-2017, 12:37
Credo che dipenda molto da come stata dichiarata la stringa (se ha una dimensione fissa non credo che tu possa farlo tipo char s [5] = "ciao",mentre se l'hai dichiarata char s[]="ciao" non ci dovrebbero essere problemi).
Comunque a parte questo credo si possa fare,fai un ciclo sulle posizioni, quando arrivi a quella che ti interessa salvi il char attuale e quello successivo,sostituisci la lettera che vuoi inserire al posto di quella vecchia (supponiamo in posizione x ), inserisci la vecchia (che stava in x prima della sostituzione) in quella successiva (x+1),quindi copi x+2 e continui cos finche non finisce il ciclo.
Ricordati di inserire il terminatore di stringa in ultima posizione (lo avrai cancellato copiandoci sopra l'ultimo carattere ).

Loading