Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    348

    [C] Funzione cambio carattere

    Ciao ragazzi!
    Vorrei sapere se esiste una funzione che data una stringa, sostituisca all'interno della stringa un determinato carattere!

    Es:

    stringa s = "ciao bella"

    funzione(s , " " , "_")

    ritorna una stringa cosi: ciao_bella


    so della funzione strstr pero' mi ritorna il punto in cui inizia la sottostringa!

    grazie per l'aiuto!

  2. #2
    Non lo so esiste una funzione con quelle caratteristiche in qualche libreria, pero' e' molto semplice da fare:

    codice:
    void funz(char *str, char ch1, char ch2) {
    	int i;
    	int len = strlen(str);
    
    	for(i = 0; i < len; i++) if(p[i] == ch1) p[i] = ch2;
    }
    (\_/)
    (^_^)
    (> <)

  3. #3

  4. #4
    Direi che la strchr() non fa proprio quello che chiedeva nomida, pero' puo' essere sfruttata per creare una funzione propria (tipo qualla proposta da me).
    (\_/)
    (^_^)
    (> <)

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254

    Re: [C] Funzione cambio carattere

    Originariamente inviato da nomida
    Vorrei sapere se esiste una funzione che data una stringa, sostituisca all'interno della stringa un determinato carattere!

    Es:

    stringa s = "ciao bella"

    funzione(s , " " , "_")

    ritorna una stringa cosi: ciao_bella


    so della funzione strstr pero' mi ritorna il punto in cui inizia la sottostringa!
    No, non c'è una funzione "standard". Ma è banale da fare:

    codice:
    void replace_char (char *s, char f, char r)
    {
        for (; *s; s++)
            if (*s == f)
                *s = r;
    }
    es. di utilizzo:

    char s[] = "prova funzione";

    replace_char (s, ' ', '_');
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,461
    Originariamente inviato da Skywalker87
    Direi che la strchr() non fa proprio quello che chiedeva nomida, pero' puo' essere sfruttata per creare una funzione propria (tipo qualla proposta da me).
    Sì, naturalmente ... era solo per trovare il carattere ... per cambiarlo basta un'assegnazione ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.