Rechercher : dans
Par :

Ajouter un caractère à une chaine de caractèr

Dernière réponse le 23 avr 2009 à 09:53:58 sossouha, le 7 jan 2004 à 15:17:06 
 Signaler ce message aux modérateurs

Bonjour,
je veux savoir comment ajouter un caractère à une chaine de caractère qui est initialement vide. voici le code de la fonction d'ajout de carctère à la fin d'une chaine.
initialement la chaine s est vide:

char* s='\0';

ensuite je fais appel à la fonction add_caractere qui retourne une chaine
char* add_caractere(char* s,char c)
{
size_t t=strlen(s);
s[t+1]='\0';
s[t]=c;
return s;
}

il ya erreur dans l'execution et je ne sais pas où est l'erreur
aidez moi s'il vous plait

Meilleures réponses pour « ajouter un caractère à une chaine de caractèr » dans :
Javascript - Les chaînes de caractères Voir Qu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Javascript - Concaténation de chaînes de caractères VoirLe terme "concaténer" signifie joindre deux chaînes bout à bout pour n'en former qu'une seule. Dans la plupart des langages tels que PHP, la concaténation se fait avec le caractère ".". En javascript, il suffit d'utiliser le caractère plus (+) ou...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
VBScript - Les fonctions de chaînes de caractères VoirLes fonctions de chaînes de caractères Fonction Description Filter(InputStrings, Value[, Include[, Compare]]) Sélectionne des chaînes de caractères parmi un tableau de chaînes...

1

sebsauvage, le 7 jan 2004 à 15:51:26

Mmm... j'aurais plutôt utilisé strcat()

Répondre à sebsauvage

2

sossouha, le 7 jan 2004 à 16:09:14
  • +1

Strcat() est utilisée pour concatener deux chaines, le problème pour moi c'est que j'ajoute qu'un seul caractère
en plus la taille de ma chaine à construire n'est pas connue à l'avance pour pouvoir faire l'allocation dynamique

Répondre à sossouha

3

karima, le 23 avr 2009 à 00:59:50

Ecricre un algorithme qui permet de supprimer un caractére dans une chaine de caractere

Répondre à karima

4

 stephbb75, le 23 avr 2009 à 09:53:58

Bonjour,

L'erreur c'est que tu met un caractères (le dernier) en dehors de la zone mémoire allouer pour ta chaine.

Il fraudais faire comme ceci (attention, fait de tête vérifies quand même les fonctions !)

char* chaine;
chaine = malloc( 10 ) ;
printf( "0123456789", 10 );

...
add_caractere( chaine, 'x');
...



void add_caractere(char* s,char c)
{
size_t t=strlen(s);

realoc( s, t+1);

s[t+1]='\ 0'; // pas d'espace entre \ et 0 mais pour voir dans le forum il faut un espace
s[t]=c;

}

De plus le retour de la fonction est void, tu modifi directement le pointeur passé ...

Voila

Steph

Répondre à stephbb75