begin process at 2012 05 29 12:37:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Modifier un caractere dans une chaine


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Modifier un caractere dans une chaine

lundi 29 août 2005 à 14:04:21 | Modifier un caractere dans une chaine

floche

Bonjours à tous
Le titre est assez explicite...
Je voudrais pouvoir changer un caractere d une chaine si c'est un a mais ca ne marche pas.
Merci pour votre aide
mon code :

int main()
{
    char* fic;
    int i,a;
    printf("Entre une chaine");
    gets(fic);
    a=strlen(fic);
    for(i=0; i<a; i++);
    {
        if(fic[i]=="a") fic[i]="b";
       
    }
    printf("%s",fic);
    getch();
    return 0;
}

Floche
lundi 29 août 2005 à 14:13:24 | Re : Modifier un caractere dans une chaine

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !

"a" est adresse de chaine, sera donc jamais égal, il faut 'a'.

*fic POINTE OU ??? donne un buffer.

char fic[300];
....
.../
char *c = fic;
while(*c) {
  if(*c == 'a') *c = 'b';
  c++;
}

ciao...
BruNews, MVP VC++

lundi 29 août 2005 à 16:26:33 | Re : Modifier un caractere dans une chaine

amina_6a

salut ,
vous pouvez travailler avec les pointeurs, ça vous aidra de trouver ta chaine finale,
voici la modification que j ai fait sur votre prog.
 
int main()
{
  char * fic, *pnt ; // j ai ajouter un pointeur "pnt"
  printf("entrer une chaine");
  gets(fic);
  pnt = fic;          //pnt porte la même adresse de votre chaine
  while(pnt!= (strlen(fic)+fic+1)  //tester si pnt = à l' adresse de derniere caractere 
    {
      if(*pnt == 'a') *pnt = 'b';
      pnt++;
    }
 printf("%s", fic);
getch();
return 0;
}
lundi 29 août 2005 à 16:50:53 | Re : Modifier un caractere dans une chaine

BruNews

Administrateur CodeS-SourceS
while(pnt!= (strlen(fic)+fic+1)
l'adresse de fin (le termainateur NULL) est à: fic + strlen(fic), SANS le + 1.
Ne pas mettre strlen() en boucle, sera recalculé à chaque tour. Avec pointeur, aucun besoin du tout, voir plus haut.
gets(fic); // fic oublie toujours de pointer sur un buffer.

ciao...
BruNews, MVP VC++
lundi 29 août 2005 à 20:07:00 | Re : Modifier un caractere dans une chaine

floche

Merci BruNews, ca marche !
Donc le code modifié est ( pour indications) :

int main()
{
    char fic[300];
    printf("Entre une chaine");
    gets(fic);
    char *c = fic;
    while(*c)
    {
      if(*c == 'a') *c = 'b';
      c++;
    }
    printf("%s",fic);
    getch();
    return 0;
}

Merci encore
Floche


Cette discussion est classée dans : int, chaine, caractere, modifier, fic


Répondre à ce message

Sujets en rapport avec ce message

Inserer un int dans une chaine de caractere sous c++ [ par 0Cypher0 ] Salut tout le monde, desoler d'etre un boulet, mais j'ai une galere... Je desire (pour passer une requete SQL) inserer une variable int dans une chai regler la taille d'une chaine de caractere en fontion d'une int [ par shadow1779 ] Bonjour, je cherche a faire un ptit systeme pour mettre un gros fichiers en partie, pour cela j'utilise une chaine de caractere qui me sert de tampon insertion d'un int dans une chaine de caractère (string) [ par Apache_31 ] Bonjour j'ai un problème avec ma requête MYSQL.en effet j'utilise la fonction mysql_query(Connection,"insert into table values (valeur 1, valeur 2) ") remplacer un caractere par plusieur un autre dans une chaine [ par shadow1779 ] Bonsoir, je me trouve avec le code suivant afin de lister tout ce qu'il y a dans un dossier, je recupere la chaine gamepath en allant chercher dans Appels croises C/F90 [ par souslikP ] Bonjour, J'ai un main C qui appelle du F90 en lui passant une chaine de caracteres. Probleme sur PC avec Visual C++, ca plante au debugger (passage de convertir un int en chaine [ par alphaone ] Voila je cherche à envoyer un int dans:CreateWindowEx(WS_EX_CLIENTEDGE,"Edit", "",WS_CHILD | WS_VISIBLE,120, 2, 50, 20,hwnd, (HMENU)ID_EDIT1,hThisInst longueur tableau de chaune de caractere [ par Marco59190 ] Salut tout le monde :D J'ai un petit problème... J'ai un tableau de chaine de caractère comme par exemple : char *mot10[] = {"ordinateur","multimedia" mettre le contenu d'une chaine de caractere dans le presse papier windows [ par shadow1779 ] Bonsoir, je cherche a faire qu'une chaine de caractere aille dans WM_CUT et que je puisse faire un paste la ou je veux, je m'explique c'est pour un b Chaine de caractere en C [ par YURIX ] J'ai un probléme avec une chaine de caracterechar choix1;printf("Test des axes L,T et V      : AX\n");printf("\nVotre choix :");     scanf("%s", choix chercher la position d'un caractere [ par Johjo ] Bon, je cherche à obtenir la position d'une chaine de caractere dans une autre chaine de caractere.Mais les seuls fonctions que j'ai trouvé me renvoye


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,092 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales