begin process at 2012 05 30 05:36:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

probleme de zero binaire dans un enregistrement


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de zero binaire dans un enregistrement

lundi 21 juin 2010 à 11:32:45 | probleme de zero binaire dans un enregistrement

thefifou

Bonjour a tous,
Je vous ecris afin de trouver un peu d'aide. Mon problème est le suivant:
Je dois lire, ligne par ligne, un fichier en entrée, manipuler et modifier certaines parties de chaque ligne et ensuite reconstituer ces lignes avec les nouvelles données afin de recréer le fichier comme a l'origine le tout en langage C.
Hors mes lignes continnent des zéros binaires et ceci pose de sérieux problèmes. Toute la partie manipulation des données me pose pas de problème. MAis par contre, pour ce qui est de lire et ecrire une ligne dans un fichier lorsqu'il y a des zéros binaires c'est moins evident. Pour ce qui est d ela lecture j'ai l'impression que le bon vieux fgets fonctionne. Par contre mes essais avec fwrite, fprintf fputs ne marchent pas. Les zéros binaires ne sont pas pris en chatge et mettent le bazar dans mes données.
Quelqu'un aurait'il une solution a ce problème??
Je vous remercie d'avance de votre aide.
Cdt
Thefifou


THEFIFOU
lundi 21 juin 2010 à 12:02:58 | Re : probleme de zero binaire dans un enregistrement

CptPingu

Administrateur CodeS-SourceS
Normalement, tu peux spécificer la taille de ce que tu veux stocker, donc il n'y a pas de problème, même avec des 0 binaire...

Ceci fonctionne parfaitement chez moi:
Code C/C++ :
#include <stdio.h>

int main(void)
{
  FILE* pFile;
  int buffer[6] = {123, 7895, 45897, 0, 0, 4521};
  int buffer2[6];
  int i = 0;

  pFile = fopen("myfile.bin", "wb");
  fwrite(buffer, sizeof (int), 6, pFile);
  fclose(pFile);

  pFile = fopen("myfile.bin", "rb");
  fread(buffer2, sizeof (int), 6, pFile);
  fclose(pFile);

  for (i = 0; i < 6; ++i)
    printf("%i ", buffer2[i]);
  printf("\n");

  return 0;
}


_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
lundi 21 juin 2010 à 12:06:30 | Re : probleme de zero binaire dans un enregistrement

CptPingu

Administrateur CodeS-SourceS
Oups, j'ai du mal comprendre ta question.

Donc deux solutions:
- Tu utilises getline, qui récupère une seule ligne (avec des 0): http://users.powernet.co.uk/eton/kandr2/krx116.html
- Tu utilises fgets et tu récupères caractère par caractère jusqu'à trouver un \n (fin de ligne), ou jusqu'à la fin du fichier via feof(fichier). Si tu ne traites pas les 0 comme des caractères spéciaux, pas de souci :p

_____________________________________________
Historique de mes créations, et quelques articles:
http://0217021.free.fr/portfolio
vendredi 2 juillet 2010 à 05:30:40 | Re : probleme de zero binaire dans un enregistrement

manudiclemente

Sachant que le 0 binaire '\0' caractérise la fin d'une chaîne ("1234\0", peut-être que ces fonctions de C considèrent tout ce qu'il y a avant ce 0 comme une chaîne et ne prennent pas ce qui suit?
Solutions : lecture caractère par caractère ou bien fonctions C++.


Cette discussion est classée dans : fichier, problème, ligne, données, zéros


Répondre à ce message

Sujets en rapport avec ce message

Pb de gestion de fichier avec fstream [ par Bub325 ] Salut,J'ai deux problème distinct avec fstream, Le premier est que lorsque j'arrive à la fin d'un fichier, je ne peut plus revenir plus haut dans ce d Problème : Récupération des données d'un Buffer pour mettre dans une EditBox [ par Memerosti ] BonjourMon problème est le suivant : J'ai ouvert un fichier, lu ses données, et jusque là ça va. Mais ensuite je voudrais récupérer ces données, pour Comment se positionner sur une ligne dans un ifstream? [ par mcrogiez ] Bonjour à tous,Mon problème est très simple, cependant, je n'arrive pas à le résoudre.En C++, j'utilise des objets de type ofstream et ifstream afin d Lire données dans un fichier Excel en C [ par skrime ] Bonjour, J'aimerais lire les données contenues dans un fichier excel, j'aimerais pouvoir lire ligne par ligne, je ne sais pas du tout comment on peut Lecture d'un fichier de données en C [ par sandy27 ] Alors je vais poser une question qui a déjà été posée dans le forum, mais les réponses ne me conviennent pas ! je veux lire un fichier qui contient de Lire une ligne au hazard dans un fichier [ par sebastienmz ] Bonjour je suis confronter a un problème : j'aimerais lire une ligne au hazard dans un fichier et je sais pas trop comment faire , pourriez-vous m'aid Problème lors de la récéption de données en HTTP [ par Fran6web ] Bonjour,Je suis en train de me faire un programme en C qui me récupère le contenu d'un page envoyé par protocole HTTP.J'ai cependant un p'tit problème Problème écriture fichier [ par pitidragon ] Bonjour à tous !J'ai besoin d'aide pour finaliser un projet pour la fac. Je dois réaliser un démineur, et j'ai un petit soucis pour finir. Je dois gér Problème avec type de données et opérateur >> lors de lecture de fichier [ par bny ] Bonjour, j'essaie de décoder un fichier de configuration(txt) j'ai certain problèmes avec les types de données et l'opérateur >> (flux de données).  J C++ et fichier texte [ par olobo ] bonjour ! j'ai besoin d'aide pour 2 problème svp [^^happy13] [u]Problème 1 [/u] Voila j'aimerais pouvoir lire les ligne d'un fichier texte qui est


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales