Da una stringa già compilata aggiungere dei caratteri

di il
6 risposte

Da una stringa già compilata aggiungere dei caratteri

Ciao a tutti,

ho un problema devo confrontare due stringhe di caratteri ma una ha prima e dopo un comando tab

ammettiamo di avere due variabili:
char a[7];
char b[7];

strcpy (a," ciao ");
strcpy (b,"ciao");

io dovrei mettere nella b i due "tab" in modo che risultano uguali...
nella realtà io non so di preciso la parola che sarà scritta effettivamente dentro e quindi anche la lunghezza ed inoltre posso lavorare solo sulla variabile b(nel senso che non posso togliere le "tab" da a)

esiste un comando / istruzione automatica per farlo?

Grazie mille a tutti

6 Risposte

  • Re: Da una stringa già compilata aggiungere dei caratteri

    strcpy(b,a);
    ?
  • Re: Da una stringa già compilata aggiungere dei caratteri

    Devo confrontarle per dire se sono giuste o sbagliate... se faccio cosi non saranno mai sbagliate... io ho proprio bisogno di andare a modificare l'interno....
  • Re: Da una stringa già compilata aggiungere dei caratteri

    Puoi confrontarli col strcmp, puoi verificare se b sta in a con strstr ecc... Le vie del signore sono infinite ma anche quelle del linguaggio C.
  • Re: Da una stringa già compilata aggiungere dei caratteri

    Cioè? sai spiegarmi come ?
    perchè io l'ho fatto ma se faccio:

    ( strcmp(a,b) == 0)) questa mi verra sempre falsa a causa del due tab aggiuntivi... e invece deve venire falsa quando è effettivamente falsa e vera quando scrivo la stessa parola
  • Re: Da una stringa già compilata aggiungere dei caratteri

    Non si capisce bene quello che intendi ... in pratica hai una stringa "\tciao\t" e un'altra "ciao" e vorresti che strcmp ti dica che sono uguali? beh non lo sono...
    La prima opzione che mi viene in mente è una funzione che rimuove i caratteri '\t' dalla stringa e poi effettui il confronto con strcmp
  • Re: Da una stringa già compilata aggiungere dei caratteri

    In questi casi devi escludere dalla prima stringa tutti i caratteri che non ti servono (per esempio i tab, gli spazi, altri caratteri che non vuoi considerare) e solo dopo confrontare le stringhe.
    Se non puoi modificare l'originale, crei una nuova stringa a partire dall'originale in cui non riporti i tab.

    Se sei sicuro che nella prima ci siano sempre un tab all'inizio e uno alla fine allora puoi usare opportunamente la funzione strncmp
Devi accedere o registrarti per scrivere nel forum
6 risposte