Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    janvier 2009
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : janvier 2009
    Messages : 32
    Points : 2
    Points
    2

    Par défaut [Débutant] Ajouter un char* à un char[][]

    Le code suivant:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DIR* dir;
    Dirent* entry;
    char[][] list;
    
    dir = opendir(path);
    entry = readdir(dir);
    while ( entry !is null ){
        list ~= tango.stdc.string.strdup(entry.d_name.ptr);
        entry = readdir(dir);
    }
    closedir(dir);
    me renvoie l'erreur suivante:
    Code :
    1
    2
    Error: cannot append type char* to type char[][]
    Meci d'avance à celui qui corrigera cette erreur sûrement très bête pour quelqu'un de juste un peu moins débutant que moi

    Cordialement.

  2. #2
    Membre habitué Avatar de TSalm
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2006
    Messages : 352
    Points : 137
    Points
    137

    Par défaut

    Bonjour,

    A l'oeil, je dirais que ça vient de ta ligne
    Code :
    list ~= tango.stdc.string.strdup(entry.d_name.ptr);
    <string.strdup> retournant un <char*>.

    Pour convertir une "C string" vers un "D char", il faut utiliser
    Code :
    char[]  tango.stdc.stringz.fromStringz(char* s)
    Par contre, ton code me semble très très compliqué...
    Puisque tu as l'air d'utiliser Tango, je te suggérerais d'utiliser :
    Code :
      Tango.io.FilePath.toList
    Cordialement :-)
    TSalm

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •