Je ne suis pas un spécialiste ni de c++ ni de wxwindows (qui s'apelle maintenant wxwidgets), mais à ma connaissance, wxwidgets est un toolkit graphique (ou un wrapper de toolkits graphiques). Ce genre de fonction n'aurait rien à y faire.
oui mais c'est pour unifier les types et leur traitements sur différentes plateformes.
La fonction que tu recherche est bcp plus spécifiques. Et puis ca ne doit pas etre trop difficile à refaire (en supposant que CSV soit bien Comma Separated Value):
tableau à deux dimensions T[i][j]
initialiser T[i]
lire une ligne
découper la ligne en tokens séparés par un caractère ',' ou autres au choix
remplir T[i][j] avec les tokens
boucler jusqu'à la fin du fichier
return T
Ca devrait marcher, mais j'essaie de ne pas réinventer la roue ;-) Ce serait bêter de refaire ça si une fonction toute faite et robuste existe qq part !
Il y a bien ça qui marche, mais c'est sensible aux espaces / tabulations en fin de ligne.
wxFileInputStream input( "fichier.csv" );
wxTextInputStream text( input );
text.SetStringSeparators("\";");
field[0] = text.ReadWord ();
Je continue donc à chercher mieux.
Le problème du CSV étant plus ou moins résolu, je butte maintenant sur la gestion des exceptions. Y a-t-il un mécanisme de type try ... catch ? En fait, les URLS avec paramètres semblent faire planter le programme lorsque je les ouvre...
Réponse : oui, il y a des try catch. Il faut changer les options de compilation sous Dev-C++. Ajout de la commande : -fexceptions .
Pour les URLs, il faut utiliser GetC (ce qui semble plus lent) plutôt que Read et boucler tant que LastRead est égal à 1 (Eof ne marche pas non plus dans ce cas et il faut donc utiliser LastRead).
# je ne pense pas ...
Posté par Anonyme . Évalué à 2.
[^] # Re: je ne pense pas ...
Posté par Robert VISEUR (site web personnel) . Évalué à 2.
[^] # Re: je ne pense pas ...
Posté par Anonyme . Évalué à 3.
La fonction que tu recherche est bcp plus spécifiques. Et puis ca ne doit pas etre trop difficile à refaire (en supposant que CSV soit bien Comma Separated Value):
tableau à deux dimensions T[i][j]
initialiser T[i]
lire une ligne
découper la ligne en tokens séparés par un caractère ',' ou autres au choix
remplir T[i][j] avec les tokens
boucler jusqu'à la fin du fichier
return T
[^] # Re: je ne pense pas ...
Posté par Robert VISEUR (site web personnel) . Évalué à 2.
[^] # Re: je ne pense pas ...
Posté par Nap . Évalué à 2.
# Il y a bien ça, mais...
Posté par Robert VISEUR (site web personnel) . Évalué à 2.
[^] # Re: Il y a bien ça, mais...
Posté par Nap . Évalué à 3.
# Et les try catch ?
Posté par Robert VISEUR (site web personnel) . Évalué à 2.
[^] # Pour ceux qu'une solution intéresse...
Posté par Robert VISEUR (site web personnel) . Évalué à 2.
Pour les URLs, il faut utiliser GetC (ce qui semble plus lent) plutôt que Read et boucler tant que LastRead est égal à 1 (Eof ne marche pas non plus dans ce cas et il faut donc utiliser LastRead).
Voir mon commentaire : http://linuxfr.org/forums/20/2253.html(...) .
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.