simo esiste il valium in farmacia
simo esiste il valium in farmacia
Si anche le pappette plasmon.Originariamente inviato da Essio
simo esiste il valium in farmacia![]()
cattive....
Ascolta nene, o usi i tag codes e qualcuno ti aiuta o chiedi di spostare in OT, così ci divertiamo lì![]()
A me van bene tutte e due.. Vedi te cosa ti conviene.![]()
Vabbé, chiudiamo questa storia che è meglio:
Personalmente, ti consiglierei di scrivere una funzione a parte per individuare la parola successiva e una per concatenare una stringa finché non cerca uno spazio. A quel punto il lavoro della unisci_stringhe si riduce al richiamare un paio di funzioni.Originariamente inviato da Essio
codice:main(){ p[30], q[30], k[30]; int unisci_stringhe (char s1[] , char s2[] , char s3[]); /*printf("%d",unisci_stringhe("e arrivato autunno","e il primo giocatore","arrivato primo")); system("pause");*/ } int unisci_stringhe (char s1[] , char s2[] , char s3[]){ int i=0, j=0; int p=0 ,k=0 ,z=0; int contas1=0 , contas2=0; while(s1[i]!='\0'){ while(s2[j]!='\0'){ while(!contas1==1){ if(i>0 && s1[i]==' ' && s1[i-1] !=' ') {contas1 ++;} } while(!contas2==2){ if(j>0 && s2[j]==' ' && s2[j-1] !=' ') {contas2 ++;} } i++;j++; } } {k=i+1; p=1, z=j+1; while(s1[i]!=' ' || s1[i]!='\0'){ s3[p]=s1[i]; k++; p++;} while(s2[z]!=' ' || s2[z]!='\0'){ s3[p]=s2[z]; p++; z++; } } s3[p+1]='\0'; return p; }
Per inciso, il modo in cui hai richiamato unisci_stringhe non va bene, s3 deve essere un buffer scrivibile (e le stringhe literal non sono scrivibili, né ci puoi accedere poi se anche le modifichi).
Amaro C++, il gusto pieno dell'undefined behavior.
Si direi che è la soluzione migliore , altrimenti è troppo macchinoso.
Grazie per il consiglio
Di niente, se hai problemi chiedi pure.![]()
Amaro C++, il gusto pieno dell'undefined behavior.
scusa la mia ignoranza ma per stringhe literal intendi le stringhe che ho inizzializzato io.
per interdeci ad esempio "è arrivato l'autunno"
Un valore literal è un valore inserito direttamente nel codice. Tutte le stringhe literal sono dei const char *, ossia puntatori ad una stringa non modificabile situata in una zona particolare di memoria. Quello che ti serve per s3 è un buffer allocato sullo stack:
codice:char buffer[256]; int ret=unisci_stringhe("prima stringa", "seconda stringa", buffer);
Amaro C++, il gusto pieno dell'undefined behavior.
Ok perfetto! , ho già risolto parecchi problemi, grazie.