IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Problème de transtypage


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut Problème de transtypage
    Salut à tous !

    Je suis en train de faire un xpcom et j'ai un souci de transtypage : j'ai un char* (c'est là une contrainte ) et il me faut changer ce char* en un nsString ou équivalent au niveau du type que je pourrais renvoyer à une extension Firefox.

    Est-ce que quelqu'un a une idée?

    Merci!

    Simo'

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 77
    Points : 49
    Points
    49
    Par défaut
    Je ne sais pas si ca peut marcher dans ton cas, mais as-tu éssayé avec un "static_cast" ??

  3. #3
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    155
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 155
    Points : 158
    Points
    158
    Par défaut
    hello,
    je connais pas les nstring mais j'ai trouvé ca sur un forum en tapant sur google:

    No I think he means [[NSString alloc] initWithFormat:@"%c", 'c' ]

    On Wednesday, January 30, 2002, at 11:43 AM, Brian Luft wrote:

    On 1/29/02 1:12 PM, "Carla Lewis" <email@hidden> wrote:

    I want to setStringValue of an NSString with variable of type char? How
    do I convert char-type to NSString type?


    Use the *withCString functions.

    Convenience constructor thingy:
    [[NSString stringWithCString: "Blah"] retain]

    Normal initializer:
    NSString *myString = [[NSString alloc] initWithCString: "Blah"];
    peut etre que ca peut t'aider!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    J'ai déjà tenté un truc du style de ton morceau de code Loicounet mais j'ai pas réussi à l'utilser (je ne suis pas encore super fortiche en C++ ou alors y a un truc que j'ai oublié...).
    Je vais essayer avec static_cast pour voir et je vous tiens au courant. Si vous avez d'autre idée?

    En tous cas merci :-)

    Simo'

  5. #5
    Invité(e)
    Invité(e)
    Par défaut
    Bonjour,

    Normal que le code suivante ne fonctionne pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    NSString *myString = [[NSString alloc] initWithCString: "Blah"];
    Ce n'est pas du c++ mais de l'objective C. Je pense qu'il y a confusion entre nsString de mozilla et NSString de cocoa.

    Pour convertir un char * en nsString, je verrai bien un appel au constucteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    char * pc = "Toto est beau";
    nsString sz(pc);
    /* ou */
    nsString *pSz:
    pSz = new nsString(pc);
    /* ... */
    delete pSz;
    Attention, j'ai vu sur le site de mozilla que nsEmbedString était préférable à nsString.
    Citation Envoyé par mozilla
    [...]you are developing against Mozilla 1.7 or later, you should instead be using the new minimal Mozilla string API and in particular the nsEmbedString class.
    Voir aussi ici pour nsEmbedString.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 164
    Points : 67
    Points
    67
    Par défaut
    J'essaye plein de solution même des trucs loufoque sur 60 lignes mais sans succès... Gasp...

  7. #7
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Bizarre ça....

    J'ai programmé un outil sous Firefox y a pas longtemps, et quand la fonction prenait des nsEmbededString, je passais bêtement la chaîne (et le compilo se chargeait bien de faire le nsEmbededString temporaire pour moi).

    En tout cas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    const char* str = "toto";
    nsEmbededString toto(str);
    mafonction(toto);
    marche nickel !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. encore un problème de transtypage
    Par Just-Soft dans le forum Langage
    Réponses: 11
    Dernier message: 19/11/2008, 11h59
  2. problème de transtypage (enfin je crois)
    Par troussepoil dans le forum C++
    Réponses: 5
    Dernier message: 02/03/2007, 18h32
  3. Problème de transtypage (ou de pointeur)
    Par seeme dans le forum C++
    Réponses: 3
    Dernier message: 20/12/2006, 10h36
  4. problème de transtypage
    Par salseropom dans le forum C
    Réponses: 5
    Dernier message: 30/08/2006, 11h59
  5. Problème de transtypage
    Par SunSyS dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 31/07/2006, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo