Stavo facendo dei lavori con le stringhe, e con strstr() per la ricerca delle occorrenze.
se per esempio ho la frase:
Codice: Seleziona tutto
"la mia fiat è rossa è una fiat sportiva"Codice: Seleziona tutto
"fiat"Codice: Seleziona tutto
"la mia citroen è rossa è una citroen sportiva"Ora senza scomodare magari librerie particolari, mi domandavo se questo metodo potrebbe andare bene:
Codice: Seleziona tutto
#include <unistd.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
char origin [100]="la mia fiat è rossa è una fiat sportiva";
char word [100]="fiat";
char new_word [100]="fata";
char temp [100];
char *found;
char *p=origin;
int len;
len=strlen(word);
while (*p!='\0')
{
found=strstr(p, word);
if (found==NULL)
break;
p=found+len;
strncat (temp,new_word,strlen(new_word));
strncat (temp,p,strlen(p));
origin[found-origin]='\0';
strncat (origin,temp,strlen(temp));
temp[0]='\0';
}
printf ("%s\n", origin);
return 0;
}è solo un prototipo, non ho usato funzioni visto che sono 2 righe.
Secondo voi è prestazionalmente penoso o può andare?


