petit probleme d'ecriture dans un fichier - C++ - Programmation
Marsh Posté le 26-04-2005 à 20:13:45
Joel F a écrit : ostream pour ecrire, istream pour lire .... |
moi je veux lire et ecrire d'ou le fstream et non un ofstream ou ifstream
taz : y a t'il un reel interet de prendre c_str() a la place de data() ?
Marsh Posté le 26-04-2005 à 20:30:59
oui, parce que .data() n'est pas forcément terminé par un '\0'
Marsh Posté le 26-04-2005 à 20:39:02
Taz a écrit : oui, parce que .data() n'est pas forcément terminé par un '\0' |
ok, j'ignorais totalement ce fait, merci
si non pour mon petit soucis ?
je précise que les lectures se font sans problemes
Marsh Posté le 26-04-2005 à 21:09:53
T'aurais pas ouvert ton fichier en binaire par hasard ? (je sais plus, faut que je regarde la doc)
Marsh Posté le 26-04-2005 à 21:17:03
Heu je sais que pour les ostream faut faire à la fin un endl pour etre sur qu'il écrit, sinon c'est assez dangeureux d'ouvrir un fichier en lecture et écriture :s
Pour finir pour etre bien sur qu'il a écrit un .close(); et après un .clear();
Marsh Posté le 26-04-2005 à 21:39:27
el muchacho a écrit : T'aurais pas ouvert ton fichier en binaire par hasard ? (je sais plus, faut que je regarde la doc) |
ha bas oui pt etre ! faut que je verifie.
edit : non c'est bon par defaut il l'ouvre en text mode
Marsh Posté le 26-04-2005 à 21:40:11
LordHarryPotter a écrit : Heu je sais que pour les ostream faut faire à la fin un endl pour etre sur qu'il écrit, sinon c'est assez dangeureux d'ouvrir un fichier en lecture et écriture :s |
le close est dans le destructeur de ma classe et le clear je m'en suis jamais servis
edit ; si tu connais une meilleur solution pour lire un fichier puis ecrire dedant je suis prenneur !
Marsh Posté le 26-04-2005 à 22:17:01
pas la peine d'appeler close() (et encore moins clear) dans le destructeur, il est appelé lors de la destruction de ton std::fstream
montre plus de code, la il y a aucun probleme
Marsh Posté le 26-04-2005 à 22:28:07
skelter a écrit : pas la peine d'appeler close() (et encore moins clear) dans le destructeur, il est appelé lors de la destruction de ton std::fstream |
dans ce que j'ai mis y a tt ce que je fait avec fstream
Code :
|
voila les seules utilisation que je fait des fstream le reste du code n'est pas important ( enfin pas pour les fstream ) a part les fstream il y a juste des manipulations de buffer et de chaines de caracteres
toutes mes methodes sont appelé, avec des cout je vois les contenu de mes buffers qui contiennent bien les parties desiré de monfichiers
je precise que je boss avec dev c++ 4.9.9.2
Marsh Posté le 26-04-2005 à 22:36:08
essay ce code dans un programe à part, tu veras que ca fonctionne
Marsh Posté le 26-04-2005 à 22:52:21
skelter a écrit : essay ce code dans un programe à part, tu veras que ca fonctionne |
apres test bas ca ne marche pas du tout je comprends plus rien !!
Code :
|
ce code la n'ecrit rien ds mon fichier desktop.ini
Marsh Posté le 26-04-2005 à 22:58:45
les test te dirons
if ( !file ) ...
if ( file<<"test" ) ...
Marsh Posté le 26-04-2005 à 23:09:22
skelter a écrit : les test te dirons |
deja le 1er test est faux! doncfile a une valeur differente de 0 ( donc le fichier est bien ouvert )
et if(file<<"test" ) est passé donc file<<"test" retourne bien une valeure aussi
Marsh Posté le 26-04-2005 à 23:22:08
la je vois pas , j'ai essayé avec devcpp 4.9.8.0 et ca marche
Marsh Posté le 26-04-2005 à 23:33:27
skelter a écrit : la je vois pas , j'ai essayé avec devcpp 4.9.8.0 et ca marche |
ca peut etre ca qui gene : ios::in|ios::out
edit : avec juste ios::out ca ecrit !
edit 2 : y a moyen de changé la facon d'ouvrir un fichier en cour de prog ? genre ouvert en lecture au debut puis en ecriture a la fin ?
apres 2-3 test j'ai trouvé ca sous visual meme probleme!
avec
Code :
|
ca ecrit et
Code :
|
ca ecrit plus !
Marsh Posté le 27-04-2005 à 11:46:44
skelter a écrit : file.seekp(0); t'y avais pensé pourtant au debut |
ca change rien.
Code :
|
ce code ecrit rien!
Marsh Posté le 26-04-2005 à 19:34:32
bonjour, voila j'ai fait un petit prog et j'ai besoin de lire et ecrire dans un fichier
mais probleme : les lectures ce font tres bien mais pour ecrire il se passe rien.
voila j'espers que vous pourez m'aider a comprendre pourquoi je peut pas ecrire ( ou plutot pourquoi ca ecrit pas car j'ai pas d'erreurs! )
Message édité par carot0 le 26-04-2005 à 20:39:26
---------------
In a world without walls and fences, who needs Windows and Gates