Précédent   Forum du club des développeurs et IT Pro > Autres langages > Autres langages > D
D Forum d'entraide sur la programmation en langage D
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/06/2010, 09h27   #1
bumbolol
Invité de passage
 
Inscription : 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.
bumbolol est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/06/2010, 18h42   #2
TSalm
Membre habitué
 
Avatar de TSalm
 
Inscription : juillet 2006
Messages : 346
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : juillet 2006
Messages : 346
Points : 135
Points : 135
Envoyer un message via Yahoo à TSalm Envoyer un message via Skype™ à TSalm
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
TSalm est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h42.


 
 
 
 
Partenaires

Hébergement Web