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 :

wchar_t != NULL ne marche jamais


Sujet :

C++

  1. #1
    Acropole
    Invité(e)
    Par défaut wchar_t != NULL ne marche jamais
    Bonjour,

    En suivant ce code pour wcstok_s j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    const wchar_t sep[] = L" \t\n";
    wchar_t * next;
    wchar_t * token = wcstok_s(ch, sep, &next);
    while(token != NULL)
    {
    	m_Data.push_back(Convert(token));
    	token = wcstok_s( NULL, sep, &next);
    }
    Mais lorsque token = "" ça ne quitte pas la boucle et j'ai une exception sur Convert qui appelle stoi ou stof selon les besoins.

    Merci.

  2. #2
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 100
    Points : 77
    Points
    77
    Par défaut
    token = "" ne veut pas dire token == NULL

  3. #3
    Membre éclairé
    Avatar de Ekleog
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 448
    Points : 879
    Points
    879
    Par défaut
    token = "" n'est pas équivalent à token = NULL.

    Pour tester token = "", il faudrait plutôt tester *token == NULL.

    Après, je n'ai pas suivi le lien, donc je dis peut-être une bêtise ...

  4. #4
    Acropole
    Invité(e)
    Par défaut
    En changeant le code ça change le dernier token :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while(token != NULL && token != L"" && token != L'')
    {
    	m_Data.push_back(Convert(token));
    	token = wcstok_s( NULL, sep, &next);
    }
    Images attachées Images attachées  

  5. #5
    Acropole
    Invité(e)
    Par défaut
    Ca marche avec ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    while(token != NULL)
    {
    	T val;
    	try
    	{
    		val = Convert(token);
    	}
    	catch(exception e)
    	{
    		token = wcstok_s( NULL, sep, &next);
    		continue;
    	}
    	m_Data.push_back(val);
    	token = wcstok_s( NULL, sep, &next);
    }
    Par contre ça ne me donne que des 0 après la virgule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    /* pour info
    typedef XERCES_XMLCH_T	XMLCh;
     
    #ifdef _NATIVE_WCHAR_T_DEFINED
    #  define XERCES_XMLCH_T      wchar_t
    #else
    #  define XERCES_XMLCH_T      unsigned short
    #endif
    */
     
    template<> 
    float Array<float>::Convert(const XMLCh * ch)	{	return stof(ch); };
    pour :

    <float_array id="col_1-lib-Position-array" count="24">
    -133.689529 -678.613342 -134.267899
    133.689529 -678.613342 -134.267899
    -133.689529 678.613342 -134.267899
    133.689529 678.613342 -134.267899
    -133.689529 -678.613342 134.267899
    133.689529 -678.613342 134.267899
    -133.689529 678.613342 134.267899
    133.689529 678.613342 134.267899
    </float_array>

Discussions similaires

  1. OracleDependency, l'événement ne marche jamais
    Par Jean_Dupont dans le forum C#
    Réponses: 6
    Dernier message: 28/09/2012, 09h31
  2. null ne marche pas!
    Par sousou_ dans le forum NetBeans
    Réponses: 19
    Dernier message: 14/08/2009, 14h24
  3. [XL-2003] ComboBox Sans Doublon: ça ne marche jamais
    Par Otmanes dans le forum Excel
    Réponses: 2
    Dernier message: 14/07/2009, 11h53
  4. = NULL, ne marche pas comment faire ?
    Par rad_hass dans le forum MS SQL Server
    Réponses: 20
    Dernier message: 20/11/2008, 09h42
  5. IS NOT NULL ne marche pas !!!! ??????
    Par SkyDev dans le forum Requêtes
    Réponses: 5
    Dernier message: 19/04/2004, 17h08

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