Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2944 connectés 

  FORUM HardWare.fr
  Programmation
  C

  rassembler "long" et "char" pour débutant

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

rassembler "long" et "char" pour débutant

n°1443352
nini_404
Posté le 16-09-2006 à 11:39:33  profilanswer
 

Bonjour,
j'ai une partie long ( par exemple "555" ) et je voudrais la rassembler avec mon autre variable char ( par exemple "truc" ) pour former "555truc" dans une nouvelle variable. J'ai fait beaucoup de recherches, mais je n'arrive pas a trouver de mots pour ca c'est pourquoi je trouve des mauvaais résultats.
 
Merci a vous

Message cité 1 fois
Message édité par nini_404 le 16-09-2006 à 11:40:06
mood
Publicité
Posté le 16-09-2006 à 11:39:33  profilanswer
 

n°1443353
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-09-2006 à 11:41:09  profilanswer
 

nini_404 a écrit :

Bonjour,
j'ai une partie long ( par exemple "555" ) et je voudrais la rassembler avec mon autre variable char ( par exemple "truc" ) pour former "555truc" dans une nouvelle variable. J'ai fait beaucoup de recherches, mais je n'arrive pas a trouver de mots pour ca c'est pourquoi je trouve des mauvaais résultats.


Il vaut mieux ouvrir un livre de C...  
 
sprintf() est ton ami...
 
Poste le code avec lequel tu as un problème...


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1443357
nini_404
Posté le 16-09-2006 à 11:58:19  profilanswer
 


 
Voila en gros le code que je voudrais faire fait a la vas-vite donc peut etre que 1 ou 2 erreurs sont dissimulées.
 
Merci pour ta réponse

Message cité 2 fois
Message édité par nini_404 le 16-09-2006 à 12:16:59
n°1443363
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-09-2006 à 12:45:59  profilanswer
 

nini_404 a écrit :

Voila en gros le code que je voudrais faire fait a la vas-vite donc peut etre que 1 ou 2 erreurs sont dissimulées.


Déjà, une chaine, c'est "..." et non '...'. Ensuite, je ne vois pas d'utilisation de sprintf(). Tu ne veux quand même pas que j'écrive le code à ta place ?
 
As-tu au moins lu la doc de la fonction ?
 
Ceci peut aider : http://man.developpez.com/
 
Mais as-tu au moins essayé avec le printf() de ton code ?


Message édité par Emmanuel Delahaye le 16-09-2006 à 12:47:09

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1443366
nini_404
Posté le 16-09-2006 à 12:49:37  profilanswer
 

merci Emmanuel D elahaye. Non je ne veux pas que tu écrives le code a ma place. j'ai tout appris jusqu'a maintenant en C sur le site du zéro qui me dis qu'une chaine de caractères est entre des '...' et je sais pas utiliser un sprintf().
 
Je vais lire ce que tu m'as passé

n°1443372
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-09-2006 à 13:04:26  profilanswer
 

nini_404 a écrit :

j'ai tout appris jusqu'a maintenant en C sur le site du zéro qui me dis qu'une chaine de caractères est entre des '...'


J'espère que ce n'est pas sur le SdZ que tu as appris ça (ou alors, prouve le, qu'on corrige le tuto immédiatement !)
 
Rappel :
 
"chaine"
'C' : caractère.


Message édité par Emmanuel Delahaye le 16-09-2006 à 13:05:05

---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1443382
big_dadi_f​at
Posté le 16-09-2006 à 14:04:55  profilanswer
 

nini_404 a écrit :

j'ai tout appris jusqu'a maintenant en C sur le site du zéro qui me dis qu'une chaine de caractères est entre des '...'  


 
euh , non , je ne croi pas que tu a lu ca sur le SDZ. sur le site du zero on dit qu'une chaine de caractére c'est entre "..."
 
une chaine et un caractére , ce n'ai pas tout-a-fait la méme chose tu sais.
 
 ;)


Message édité par big_dadi_fat le 16-09-2006 à 14:19:55
n°1443397
nini_404
Posté le 16-09-2006 à 15:13:56  profilanswer
 

Arf oui mince.. vous avez raison.. c'est uniquement un caractère ou on le met entre '..'. J'avais mal lu. Merci a vous!

n°1443904
Sve@r
Posté le 18-09-2006 à 09:54:11  profilanswer
 

nini_404 a écrit :

#include <stdio.h>  

#include <stdlib.h>  
 
int main()  
{  
    long fromage = 555;  
    char lait[] = 'truc';  
 
    //la je voudrais rassembler les deux dans une variable char (par exeple "tout[]" )  
     
    char all[] = 0;  
 
    printf("Entrez 555truc" );  
    scanf("%c", &all);  
     
    if(all==tout) printf("\n\nOui voila!! c'est ca\n\n" );  
    else printf("non. ce n est pas ca\n\n" );  
 
    system("PAUSE" );  
 return 0;  
}


 
Voila en gros le code que je voudrais faire fait a la vas-vite donc peut etre que 1 ou 2 erreurs sont dissimulées.


Oui, elles sont d'ailleurs tellement bien dissimulées qu'on n'arrive pas à les trouver tout de suite... [:rofl]
 
Bon, on y va pour la liste (non exhaustive) des erreurs
- 'truc' n'est pas une chaîne (mais cela a été déjà dit)
- la variable "all" sera automatiquement configurée pour stocker un seul caractère puisque le compilo croit que tu ne veux que lui mettre la valeur 0.
- le format "%c" de scanf indique à scanf qu'on ne veut saisir qu'un seul caractère or, apparemment, tu souhaiterais faire saisir une chaîne => %s
- la variable "all" contient déjà une adresse. Envoyer "&all"  à "scanf" envoie donc l'adresse de cette adresse. Bon, je ne m'étends pas car il faut avoir étudié les pointeurs pour bien comprendre cette notion. Mais pour que cela marche, faut que ta ligne soit => scanf("%s", all)
- if (all == tout) => tu ne fais que comparer deux adresses et non deux chaînes. Il faut bien comprendre qu'en C, une chaîne n'existe pas en tant qu'entité manipulable. Tu ne peux que manipuler l'adresse de son début et ses caractères de façon individuelle. Donc, si tu dois comparer 2 chaînes, il te faut partir du début de chacune et comparer chaque caractère de la chaîne un à un. Heureusement, d'autres programmeurs sont passés avant toi et ont créé la fonction "strcmp()" qui permet de comparer 2 chaînes.
 

nini_404 a écrit :

et je sais pas utiliser un sprintf().


Si tu sais utiliser "printf()", alors tu sais utiliser "sprintf()"
Ex:
printf("Hello\n" )            => Envoie la chaîne "Hello" à l'écran
sprintf(var, "Hello\n" )    => Envoie la chaîne "Hello" dans la variable "var' - A toi de t'arranger pour que "var" soit bien conçue pour pouvoir stocker 6 caractères plus le caractère '\0' de fin de chaîne...


Message édité par Sve@r le 18-09-2006 à 10:02:46

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  rassembler "long" et "char" pour débutant

 

Sujets relatifs
batch pour débutantDécouper un résultat de requète sql trop long
[VBS] Ping à partir d'une variable (débutant inside)[C#] conversion int/long/et autres vers byte[ ]
[Ajax de débutant] : problème avec l'attribut status ?!Couper la connexion d'un POST trop long
[Resolu] Débutant swing : interface graphique dynamiqueQuestion de débutant en VB
VARCHAR vs CHAR : quelles différences de perfs?débutant - vérifier le résultat de mon code [RESOLU]
Plus de sujets relatifs à : rassembler "long" et "char" pour débutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR