View Full Version : [C]spezzare stinghe
noodles83
11-05-2006, 14:56
scusate la domanda banale, ma sono alle prima armi...
ho una stringa che contiene un nome seguito dal terminatore di stringa '\0'seguito a suo volta da un messaggio
come faccio a dividere le due stringhe ognuna con il suo puntatore?
io ci ho provato con strtok ma ho sempre segmation fault!! sto impazzendo!
scusate la domanda banale, ma sono alle prima armi...
ho una stringa che contiene un nome seguito dal terminatore di stringa '\0'seguito a suo volta da un messaggio
come faccio a dividere le due stringhe ognuna con il suo puntatore?
io ci ho provato con strtok ma ho sempre segmation fault!! sto impazzendo!Ciao, è molto semplice:
char *str = "aaaa\0bbbb";
char *p2;
p2 = str + strlen (str) + 1;
noodles83
11-05-2006, 15:15
Ciao, è molto semplice:
char *str = "aaaa\0bbbb";
char *p2;
p2 = str + strlen (str) + 1;
si però io devo cercare di avere
str che punta a "aaaa\0"
e p2 che punta a "bbbb";
come dici tu str mi rimane "aaaa\0bbbb";
si però io devo cercare di avere
str che punta a "aaaa\0"
e p2 che punta a "bbbb";
come dici tu str mi rimane "aaaa\0bbbb";Ma no. La prima stringa è già terminata!!! ;)
noodles83
11-05-2006, 15:29
ah è vero!
e se per esempio voglio che str diventi "aaaaaaaaaaaaa\0bbbb"
cioè la parte dopo il termiantore rimane identica la parte prima viene sostituita con quaclosa di piu lungo
come posso fare?
e se per esempio voglio che str diventi "aaaaaaaaaaaaa\0bbbb"
cioè la parte dopo il termiantore rimane identica la parte prima viene sostituita con quaclosa di piu lungo
come posso fare?Non vedo altro modo che scrivere la nuova prima stringa in un'altra zona di memoria e poi copiare dietro il '\0' (della prima) la vecchia seconda stringa.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.