Accueil > Forum > > > > Manip' des variables du type char...
Manip' des variables du type char...
mercredi 26 mai 2004 à 23:03:36 |
Manip' des variables du type char...

DJeS
|
J'ai d'eternels problemes pour manipuler les variables char, const char etc... quand je veux faire passer un argument char a un fonction j'ai souvent des erreurs du genre impossible de convertir en const char...je defini en const char ma variable mais erreur "impossible de convetir const char en const char". qqun a t'il une bonne adresse ou un bon tut' a me conseiller? dois-je utiliser les pointeurs ou qqchose comme ca pour manipuler correctement ce type de données...? je vous serai reconnaissant d'un ptit coup de pouce car ces erreurs me rendent la vie impossible.....argh! DJeS
|
|
mercredi 26 mai 2004 à 23:05:28 |
Re : Manip' des variables du type char...

BruNews
|
Mets un exemple d'erreur, sera plus facile a demarrer une explication.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
mercredi 26 mai 2004 à 23:17:23 |
Re : Manip' des variables du type char...

DJeS
|
oui et bien voila un exemple. je suis sous dec++ 4.9.8.0 je veux pouvoir me connecter avec une socket a une adresse determiner par un utilisateur avec les fct cout et cin de iostream. sur la ligne : sin.sin_addr.s_addr = inet_addr(adresse); //adresse étant la variable censée contenir l'adresse si je la definie en char, ca ne marche evidemment pas puisque il faut un type const char. si je la defini en tant que const char, il me met "uninitialized const 'adress' ", sans doute logiquement puisque ma constante n'en est pas vraiment une.... en bref, j'ai un probleme entre le type de variable utilisée pour la saisie de donnée en entrée clavier en console, et son utilisation avec des fonctions qui recquiert un certain type de variable...cela doit etre idiot mais j'avoue que ca me bloque...
PS: dites moi si vous n'avez pas compris ma nouvelle explication ;-) DJeS
|
|
mercredi 26 mai 2004 à 23:29:20 |
Re : Manip' des variables du type char...

Anacr0x
|
char *adresse = "127.0.0.1";
ou encore char adresse[32]; strcpy(adresse, "127.0.0.1");
La deuxieme forme est préférable si tu compte modifier la variable
PS : la transormation en const char* se fait automatiquement si tu lui passe un char*, tu ne doit pas avoir d'erreur de compil. Tu ne lui passait pas des char tt court par hasard (1 seul caractère) ?
|
|
mercredi 26 mai 2004 à 23:29:41 |
Re : Manip' des variables du type char...

BruNews
|
inet_addr() prend 'const char*' POINTEUR !!! en NON char.
le const indique simplement qu'il ne modifiera pas les octets references par le pointeur que tu passeras, rien d'autre.
char adresse[260]; ou un pointeur resultant d'une alloc dynamique, tout ceci sera valable comme param.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
vendredi 28 mai 2004 à 11:23:07 |
Re : Manip' des variables du type char...

DJeS
|
Merci beaucoup ca marche comme sur des roulettes apres qq experimentations... non anacr0x ce n'est pas que je n'envoyait qu'un char tout court comme tu dis mais que effectivement, je ne lui passait pas un pointeur et une variable...merci bcp pr vos reponses...j'ai notamment appris que char variable[30] etait conesidéré comme un pointeur char *variable. sauf que dans le premier cas, on "monopolise" 30 octets tandis que dans le dernier c'est" dynamique" et le programme adapte l'espace memoire reservé a la variable...c ca? cependant je ne comprend pas tres bien comment fonctionne l'allocation dynamique pr que tout ne se marche pas dessus (debordement de tampon)... merci
DJeS
|
|
vendredi 28 mai 2004 à 11:24:28 |
Re : Manip' des variables du type char...

DJeS
|
"je ne lui passait pas un pointeur et une variable"... euh en fait c plutot : je lui passait une variable et non un pointeur
DJeS
|
|
vendredi 28 mai 2004 à 11:27:53 |
Re : Manip' des variables du type char...

BruNews
|
Fais gaffe que char *truc; n'a rien de dynamique de lui meme, il faut allouer l'espace memoir. truc = (char*) malloc(tailleVoulue);
sinon il ne pointe sur rien de defini et c'est la cata assuree.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
vendredi 28 mai 2004 à 11:34:23 |
Re : Manip' des variables du type char...

DJeS
|
ah d'accord...et si je fais
char machin; int fct(char *truc) { send(socket,truc, strlen(truc),0); }
fct(machin);
ca doit marcher nan ? le pointeur *truc on s'en occupe pas vraiment si? DJeS
|
|
vendredi 28 mai 2004 à 11:37:03 |
Re : Manip' des variables du type char...

BruNews
|
*truc DOIT etre alloue AVANT emploi sinon exception memoire a tout coup. Rien n'est implicite dans la gestion de la memoire.
ciao... BruNews, Admin CS, MVP Visual C++
|
|
Cette discussion est classée dans : variables, type, const, impossible, char
Répondre à ce message
Sujets en rapport avec ce message
Un truc basique -> Liée 2 variables [ par wizard512 ]
Bonjours,J'ai un petit probleme qui commence a m'aggacé :je n'arrive pas a placé 2 variables dans une variable,je m'explique :EXEMPLE :-------------
impossible de convertir const char * en char * const [ par wallie0703 ]
Bonjour je n'arrive pas a compiler mon projet car il ya un problème de conversion C843_CST(ID_, AxisName_.c_str(), "M-232.17" ); -->error C266
structure [ par lektrosonic ]
Bojour,j'ai cree cette structure:typedef struct element element;struct element{ SOCKET socket; unsigned int con_type; int index; BOOL conn
Changer Type d'une edit box [ par Andejen ]
Bonjour,Je souhaiterai afficher via une EditBox certaines variables ne correspondant pas aux types génériques.En effet j'utilise un type tout au long
utiliser une string avec switch/case [ par potimarara ]
Salut a tous,J ai le code suivant qui a partir de un nom de ficher (avec extension) me renvoir un content-type.Le probleme est que lorsque j extrais l
Aide langage [ par toosdu87 ]
Voila je suis complètement débutant sur le C++ et j'aimerai compiler un programme.Le problème est qu'il me créer l'erreur suivante lors de la compilat
Impossible de créer un objet [ par daviddubois ]
Bonjour tout le monde,Je débute en C++.Je suis occupé à créer un programme qui va me permettre de calculer le rayon d'un triangle, la superficie d'un
Questions sur l'héritage (surtout sur le protected et le private) [ par daviddubois ]
Bonjour tout le monde,Je viens vous poser des questions à props de l'héritage.J'ai compris qu'on avait une classe mère (de base) et une classe fille (
const char * vers char * [ par nord666 ]
Salut,Je doit transformer un constchar * en char *<font face="Times New Roman" si
Template et operator= (c++) [ par Crownless00 ]
J'ai la classe template suivante :template class Point3D{public : Point3D(Type posX, Type posY, Type posZ) {...} Point3D() {x = 0; y = 0; z = 0;
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|