TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
Le problème de ce sujet a été résolu
| Page : 1 | |||||
| Auteur | Message | ||||
|---|---|---|---|---|---|
| 1 visiteur sur ce sujet (1 anonyme) | |||||
| Page : 1 | |||||
Zoloom
|
# Posté le 17/05/2008 à 17:11:02 | ||||
Cauchemard compilatoire![]() Groupe : Membres |
Bonjour,
Je me sert actuellement de la fonction popen(). Le soucis c'est que je dois concaténer des char* pour ne lancer qu'une seule et même commande console avec des paramètres variables : Code : C
Au final j'ai ces erreurs, et je ne sais pas comment les résoudre : Code : Console
Un grand merci à ceux qui me porteront secours
|
||||
gogohan
|
# Posté le 17/05/2008 à 17:17:53 | ||||
![]() Groupe : Membres |
Coucou
![]() alors, je te mets un exemple pour les chaines : Code : C
évidemment, je n'ai fait aucun tests, mais la valeur de retour en cas d'erreur de strdup, de realloc et de strcat est normalement de NULL. @+
Édité
le 17/05/2008 à 17:20:17
par gogohan
Codeur amateur C, C++, obj-c, TI-Basic, Python... |
||||
-ed-
|
# Posté le 17/05/2008 à 17:22:07 | ||||
C is a sharp tool![]() Groupe : Membres |
Cette réponse a aidé l'auteur du sujetAu final j'ai ces erreurs, et je ne sais pas comment les résoudre : Code : Console
- L'extension du code source devrait être .c et non .cpp - Tu dois compiler en C si tu écris du C. - L'extension _T() est propre à Visual C++. Tu utilises les caractères étendus ? Si c'est le cas, le type est wchar_t (ou WCHAR avec Visual C++ et les macros _T()) et les fonctions correspondantes . - Tu utilises un pointeur sur char non initialisé comme destination à strcat(). Le comportement est indéterminé. Ceci fonctionne : Code : C
Édité
le 17/05/2008 à 17:27:10
par -ed-
Emmanuel Delahaye. Non à la pub sur l'alcool sur Internet. Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://mapage.noos.fr/emdel/ ![]() |
||||
Zoloom
|
# Posté le 17/05/2008 à 17:25:56 | ||||
Cauchemard compilatoire![]() Groupe : Membres |
Bonjour,
Non en fait c'est bien normal, je code bien en C++ (avec wxWidgets), mais étant donné que popen() n'existe qu'en C, je suis obligé de faire cette section en C (oui je sais cay le mal mais je n'ai pas d'autres solutions). _() _T() ne sont pas propres a Visual C++, je m'en sert pour traduire mon interface avec des catalogues *.po. En plus je suis sous Linux ![]() Pourrais-tu m'expliquer ta phrase : "- Tu utilises un pointeur sur char non initialisé chaine de caractère comme destination à strcat(). Le comportement est indéterminé." ? Merci ![]() ------ J'ai pas vu ton edit excuse moi. ------ EDIT 2 : Bon du coup j'ai pu trouver une solution pour ne pas avoir à concaténer mes char*, donc le problème n'a plus lieu d'être ![]() Merci en tout cas, si le problème se représente je saurais comment faire
Édité
le 17/05/2008 à 17:34:42
par Zoloom
|
||||
-ed-
|
# Posté le 17/05/2008 à 17:33:01 | ||||
C is a sharp tool![]() Groupe : Membres |
Cette réponse a aidé l'auteur du sujetNon en fait c'est bien normal, je code bien en C++ (avec wxWidgets), mais étant donné que popen() n'existe qu'en C, je suis obligé de faire cette section en C (oui je sais cay le mal mais je n'ai pas d'autres solutions). [C++] Ben si. Tu as le droit d'écrire un module en C pur dans un projet C++. Il doit avoir l'extension .c et être compilé en C. Les interfaces doivent être protegées par extern "C" et ne comporter aucun mot clé du C++. Citation : Pas de titre _() _T() ne sont pas propres a Visual C++, je m'en sert pour traduire mon interface avec des catalogues *.po. En plus je suis sous Linux ![]() OK. Il est possible que cette extension soit utilisée ailleurs. Elle a quelle signification pour ton compilateur ? Citation : Pas de titre Pourrais-tu m'expliquer ta phrase : "- Tu utilises un pointeur sur char non initialisé chaine de caractère comme destination à strcat(). Le comportement est indéterminé." ? Typo : corrigée. Emmanuel Delahaye. Non à la pub sur l'alcool sur Internet. Des infos sur la programmation et le langage C: http://bien-programmer.blogspot.com/ http://mapage.noos.fr/emdel/ ![]() |
||||
Zoloom
|
# Posté le 17/05/2008 à 17:38:44 | ||||
Cauchemard compilatoire![]() Groupe : Membres |
Alors pour répondre à ta question:
_() et _T() n'à pas réellement de signification pour g++. En fait je me sers de poedit (pour internationaliser mes applications) et ce logiciel relève toutes les chaînes du type _() et les traduit ensuite. _T() par contre ne changent pas quelque soit la langue (path...). Je vais mettre cette fonction C dans son fichier .c (la veinarde elle à un fichier source pour elle toute seule ).Voilà merci pour ton aide en tout cas
Édité
le 17/05/2008 à 17:39:35
par Zoloom
|
||||
Retour au forum "Langage C" ou à la liste des forums
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
139 Zéros connectés |
9 requêtes |
0.022s (0.0074s)
