begin process at 2012 05 28 21:46:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Comment retourne-t-on une chaine de caractère en C ?


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

Comment retourne-t-on une chaine de caractère en C ?

vendredi 25 novembre 2005 à 18:19:44 | Comment retourne-t-on une chaine de caractère en C ?

tekila_bandita

Je débute et j'aimerais savoir commen faire pour retourné une chaine de caractère en C...
j'aimerais quelques exemples simples svp...

MERCI ! ;)

vendredi 25 novembre 2005 à 18:27:26 | Re : Comment retourne-t-on une chaine de caractère en C ?

shadow1779

Membre Club
je ne comprend pas tout a fait ta question mais voici un petit exemple ca pourra peut etre t'aider

#include <stdio.h>
char buffer[256]   //on fait une chaine de 256 caracteres

//affichage ce qu'il  ya  entre guillemets et saute une ligne
printf("que doit on mettre dans buffer:\n ");

//enregistrement de ce que l'on tape dans le buffer
gets(buffer);
.
//retour a l'ecran
printf("votre texte est: %s",buffer);


(si c'est bien ca alors il suffit en fait de mettre % et une lettre puis fermer les guillemets et mettre une virgule puis sur quoi on doit se baser, s'il y a plusieurs variable tu met plusieurs virgule et les noms dans l'ordre ou ca doit paraitre)

%s = chaine de caractere
%c = char de juste une lettre
%d = int (decimal)
%x = octal (j'en suis plus sur de sa mais j'crois) c'est vachement bien pour convertir une chaine


voila si ca n'a pas repondu a ta question merci d'expliquer ce que tu recherche vraiment et puis si c'est bon bein valide la reponse :)

c'est les principaux
vendredi 25 novembre 2005 à 18:37:21 | Re : Comment retourne-t-on une chaine de caractère en C ?

Deeddolith

D'apres ce que je comprend, tu veut savoir si une fonction peut retourner une chaine de caracteres ?
La reponse est non, du moin, pas de la maniere classique. Il faut faire un passage de parametres par adresse.
Exemple:

void FonctionChaine(char* chaine)
{
   chaine = "nouvelle phrase"
}

main ()
{
   char MaChaine[256] = "la belle phrase";

   FonctionChaine(MaChaine);
}

Voila, apres appel a la fonction, ta chaine vaut "nouvelle phrase".

vendredi 25 novembre 2005 à 18:38:42 | Re : Comment retourne-t-on une chaine de caractère en C ?

yoyo269

Membre Club
Réponse acceptée !
char * Fonction()
{
    char Chaine[10] = "";
    //...
    //Traitement(s) sur la chaine de caractères.
    //...
    return Chaine;
}
J'espère que ça répond à ta question.

YOYO, @+.
YOYO
vendredi 25 novembre 2005 à 18:42:47 | Re : Comment retourne-t-on une chaine de caractère en C ?

tekila_bandita


Enfaite, par exemple, j'aimerais pouvoir créer une fonction de concaténationne requiérant que deux arguments : la chaine 1, et la chaine 2. La chaine 2 sera concaténée à la suite de la chaine 1 et la chaine reultante serai retourné par la fonction... je ne sais pas si c'est possible mais bon...

exemple :

printf("resultat : %s ", concat("hello", " !")) ;


voila !
j'espere avoir été clair...

Merci !
;)
vendredi 25 novembre 2005 à 18:45:30 | Re : Comment retourne-t-on une chaine de caractère en C ?

yoyo269

Membre Club
Oh que si c'est possible.

char c1 = "chaine1", c2 = "chaine2";
strcat(c1, c2);

Résultat : c1 = chaine1chaine2
T'as plus qu'à t'aider de ce qui t'as été donné et voilà.

YOYO, @+.
YOYO
vendredi 25 novembre 2005 à 19:24:00 | Re : Comment retourne-t-on une chaine de caractère en C ?

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
yoyo269 > Faire gaffe à ne pas transmettre nimporte quoi à ceux qui commencent, on ne concatène RIEN sur une constante.

En C on a l'habitude de recevoir le buffer destination, ça évite les fuites mémoire. On ne 'retourne' donc pas la chaine mais seulement un pointeur sur un buffer reçu.

char* MyConcat(char *psz, const char *chaine)
{
  strcat(psz, chaine);
  return psz;
}

char buf[60];
strcpy(buf, "Salut ");
MessageBox(0, MyConcat(buf, "la foule"), "OHE", 0);

ciao...
[ Lien ]
BruNews, MVP VC++
vendredi 25 novembre 2005 à 19:27:51 | Re : Comment retourne-t-on une chaine de caractère en C ?

yoyo269

Membre Club
Merci de préciser BruNews !

YOYO, @+.
YOYO
vendredi 25 novembre 2005 à 19:29:31 | Re : Comment retourne-t-on une chaine de caractère en C ?

aardman

Membre Club
Salut,
yoyo, ce que tu dis est enorme et completement faux.
On ne peut pas retourner une variable locale, car celle ci est automatiquement détruite a la fin de l'execution de la fonction.
On ne peut pas faire "strcat(c1, c2);" sur deux chaines sauf si c1 contient assez d'espace libre pour contenir c2 (ce qui n'est pas le cas dans ton exemple...).

Pour retourner une chaine d'une fonction, soit on alloue un buffer dynamiquement avec malloc, soit on déclare un buffer local static, puis on retourne l'adresse de ce buffer.



vendredi 25 novembre 2005 à 19:45:19 | Re : Comment retourne-t-on une chaine de caractère en C ?

vecchio56

Administrateur CodeS-SourceS
Oula! yoyo en a pris pour son grade!

1 2

Cette discussion est classée dans : caractère, chaine, retourne


Répondre à ce message

Sujets en rapport avec ce message

Ajouter chaine de caractère à une ComboBox SANS les MFC [ par JMGR ] Bon... Tout est dans le titre, non ? HELP...chaine de caractères....en C..défi TP [ par SniPi ] Voici un exercice bien sympatique à faire en C.Je vous passerez le corrigé de ce TP mercredi prochain, en attendant j'aimerais voir ce que vous pensez manipulation desformules logiques : URGENT [ par The_Legacy ] Bonjour, je suis en train de développer un petit programme qui permet d'évaluer des expression logiques telles que ((a et b) ou (c et (non d))).A part URGENT : Problème de "cin" [ par monomanahune ] Monomanahune J'ai un petit problème sur un cin.Je souhaiterais rentrer une chaine de caractère en utilisant cinmais je voudrais pouvoir entrer égaleme Parsage de chaine en javascript [ par syl2 ] Bonjour,j'essaye de réaliser une fonction qui va me tester la validité de mon champs nom dans un formulaire HTML. C'est à dire que dans ce champs, je Chaine de caractère ! [ par rems14 ] Bonjour, j'ai fais un petit programme qui ne marche pas. POuvais vous me dire ce qui ne marche pas. Je vous explique, je veux demander le prénom de qu fonction qui retourne un char [ par glipper ] Bonjour,Voila, j'ai un probleme avec une fonction qui doit retourner une chaine de caractere ! J'ai compris qu'elle ne pouvait pas renvoyer la chaine, pbme avec chaine de caractère et sscanf (débutant :( ) [ par peyou ] sur une chaine de caractère de la forme "bidule = machin", je voudrais extraire les deux chaines "bidules" et " machin"1/ le nombre d'espace autour du fonction avec séparateur?? [ par tintin72 ] Bonjour,Je voudrai savoir s'il existe une fonction qui lise une chaine de caractères et prenne en argument un caractère séparateur ?ex: char * unePhra Transformation d'un texte en chaine de caractère [ par davidbaum ] Bonjour,Je désire transformer un texte en une chaine de caratère comment dois je faire en c.Merci


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 : 0,920 sec (3)

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