TStringGrid vers Fichier => Help !!! [C++] - C++ - Programmation
Marsh Posté le 09-06-2005 à 23:23:49
fread et fwrite c'est du C, pas du C++
Il faudrait que tu postes un petit bout de code de comment t'écris.
Je devine que tu balances des AnsiString directement dans le fichier (chaînes Borland/C++ mélangées à des fonction C... ça ne fait pas bon ménage)
Marsh Posté le 09-06-2005 à 23:46:55
Ben c'est peut-etre un peu ca
En fait, les données sont OK, même à l'affichage, c'est juste quand je l'écris ds le fichier que ca ne va pas.
Mon bout de code permettant l'écriture :
Code :
|
Contenu Brut du fichier de départ :
Citation : |
Contenu brut du fichier d'arrivé obtenu :
Citation : |
Comme il y a surement plus propre comme code, si vous avez un petit morceau de code, ca serait super!
THX d'avance
Marsh Posté le 09-06-2005 à 23:56:36
C'est quoi ça comme type "String" ? std::string ? ou AnsiString ?
// On écrit la cellule ds hfile_enreg
en fait tu écris l'adresse de la cellule
Marsh Posté le 10-06-2005 à 00:15:44
Je sais bien que mon code n'est pas terrible...
Mon but est d'écrire des AnsiString venant du tableau dans un fichier texte.
Toutes les idées sont les bienvenues
Marsh Posté le 10-06-2005 à 00:21:14
Réponds à ma question
Et vire le & devant "cellule" quand tu l'écris...
Marsh Posté le 10-06-2005 à 00:28:22
C'est du AnsiString, j'ai mal recopié le code en écrivant.
Si je vire le &, Borland me dit :
Mauvaise correspondance de type dans le paramètre '__ptr'('const void*' désiré, 'AnsiString' obtenu)
Marsh Posté le 10-06-2005 à 00:37:06
bah oui mais il manque un c_str() à la fin (par contre à la ligne d'au-dessus il est inutile).
fwrite il connaît pas les AnsiString
(puis une AnsiString c'est un objet dans un fichier c'est pas super utile...)
Marsh Posté le 10-06-2005 à 00:44:54
A ouai, ca marche nikel comme ca.
Je pensais qu'il fallait le mettre à la case du tableau directement le c_str().
Bon cela à été résolu rapidement merci encore antp
PS.
Marsh Posté le 10-06-2005 à 00:45:59
c_str() génère un char*, pour les échanges avec des fonctions C donc (ou pour les trucs de C++ qui ne sont pas faits par Borland, càd pas prévus pour des AnsiString)
Marsh Posté le 10-06-2005 à 00:50:14
A OK merci pour toutes ces infos tu me sauves mon projet car sans écriture dans un fichier, ca n'aurrai plus d'interêt.
Marsh Posté le 09-06-2005 à 20:43:26
Salut à tous,
Je suis en 1ere année de BTS Informatique et réseau et je fais un stage de 6 semaines en entreprise.
Mon projet est la création dune interface permettant de saisir et modifier des champs a partir dun fichier .CSV.
Ce fichier est sous forme de textes séparé par des points-virgules pour délimiter les colonnes et des retours chariot (\n) pour les lignes.
Jai donc décider de le lire le fichier caractère après caractère en détectant les « ; » et « \n » pour tout insérer dans une TStringGrid.
Mais pour réécrire le tout dans un nouveau fichier, je nai que des hiéroglyphes.
Jutilise le fread pour lire. Mais pour écrire, jai des petits problemes avec fwrite.
Help-me SVP, sinon jaurrai une sale note a mon projet