begin process at 2012 05 29 16:26:26
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Prb de stockage fichier texte


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

Prb de stockage fichier texte

lundi 2 mai 2005 à 18:52:40 | Prb de stockage fichier texte

Jarod1980

Bonjour tout le monde,
Voilà j'ai un problème dans mon programme. Je voudrais ouvrir un fichier texte et stocker son contenu dans une variable. Le problème c'est que quand je veux voir si le stockage a marcher il y a des caractères bizarres qui s'affichent à la fin et le nombre de caractères est nettement differents de ce que contient le fichier texte. Je vous met ma C source ci-dessous. J'utilise Dev-cpp comme compilateur.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[])
{
  
unsigned long int j=0;
char stock[300];
 FILE *fichier;
fichier = fopen("t1.txt","r");

while(1){
        fscanf(fichier, "%c", &stock[j]);       
        j++;
        if (feof(fichier)) break;
    }
fclose(fichier); 
printf("\nLa variable stock contient:\n");
printf("%s\n",stock);
printf("\nstock contient:%d caracteres\n",strlen(stock));
system("PAUSE");
return 0;
}

Si quelqu'un peut m'aider à résourdre ce problème ça serait bien.
Merci.
Jarod_Delaware
lundi 2 mai 2005 à 19:35:06 | Re : Prb de stockage fichier texte

AlexMAN

Membre Club
Mets un zero final a ton tableau ! Et la, tout ira mieux ;)

+2(p - n)
lundi 2 mai 2005 à 21:56:39 | Re : Prb de stockage fichier texte

Matt67

Bonsoir,

Une question : Et si ton fichier fait plus de 300 caractères ???
Si tu veux récuperer ton fichier entierement, regarde du coté de fread, et alloue dynamiquement de la mémoire pour être certain de ton coup.

Matt...
mardi 3 mai 2005 à 09:00:26 | Re : Prb de stockage fichier texte

Jarod1980

Salut,

Merci pour vos reponses.
 
*AlexMAN, 
si j'ai bien compris il faut que j'ecrive:

while(1){
        fscanf(fichier, "%c", &stock[j]);       
        j++;
        stock[j] = 0; 
        if (feof(fichier)) break;
    }

Par contre le nombre de caractères affiché par mon prog ne correspond pas au nombre de caractères contenu dans mon fichier texte. Dis moi si je me trompe.

*Matt67
Normalement mon fichier texte ne contient pas plus de 300 caractères. C'est pour cela que je n'ai pas regardé du côté de fread. Par contre, fread ce n'est pas un peu bourrin comme méthode?
Merci encore à tous pour vos réponses.  

Jarod_Delaware

mardi 3 mai 2005 à 09:08:28 | Re : Prb de stockage fichier texte

AlexMAN

Membre Club
while(1){
        fscanf(fichier, "%c", &stock[j]);       
        j++;
        if (feof(fichier)) break;
}
stock[j] = 0; 

Normalement, ca ne devrait pas poser de problemes (il est vrai que ce que tu as fait revient au mm, mais c'est pas tres propre).
Enfin, il est vrai aussi que lire caracteres par caracteres n'est pas conseillé, ca fait d'innombrables appels au fichier, ce qui est lent et donc a eviter.
fread() est bien, mais l'utilisation des API (si tu es sous Windows) serait mieux ;)

+2(p - n)
mardi 3 mai 2005 à 09:10:36 | Re : Prb de stockage fichier texte

AlexMAN

Membre Club
Ah, et une derniere chose : si ton fichier fait exactement 300 caracteres, il te faut de l'espace pour ton zero final, d'ou : char stock[301];

+2(p - n)
mardi 3 mai 2005 à 11:01:11 | Re : Prb de stockage fichier texte

Jarod1980

stock[j]=0; à la fin de la boucle ça me sort toujours un caractère indesirable à la fin. Par contre si je le met dans la boucle c'est OK. Bizzare.
Un autre truc que je voulais savoir, en fait je stock le contenu de mon fichier pour crypter son contenu et le stocker dans un autre fichier. Cependant, quand je veux ouvrir le fichier crypté et decrypter son contenu la methode que j'ai ecris précedement ne marche plus je suis obligé d'écrire:
...
while(fgets(output, sizeof(output), filez))
printf("%s", output1);

je sais pas pourquoi. Je vais voir aussi du coté de fread, mais bon pour le moment je ne sais pas trop comment ca marche.

Merci encore pour tes réponses AlexMAN.

Jarod_Delaware


Cette discussion est classée dans : fichier, problème, texte, stock, stockage


Répondre à ce message

Sujets en rapport avec ce message

problème date [ par phenX ] bonjour, sur mon code j'ai:  fprintf(fichier,"%d\t\t", time(&H));  pour afficher la date un fichier texte, et quand j'ouvre le ficier texte, c'est un problème fichier texte (ofstream) taille ? [ par baby3378 ] Bonjour à tous, voila, j'ai repri il y a quelque temps la base d'une source qui listait tous les fichiers d'un repertoire. Jusque là aucun souci. Cep 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 exécuter un batch avec des variables contenues dans un fichier texte [ par bossou ] Bonjour, j'ai un fichier cmd : crypto.cmd. lorsque je l'exécute l'invite dos me demande de rentrer la variable correspondante.Par exemple : "C:/ veuil fichier texte et enregistrement [ par brell ] bon jour! comment je fait pour enregistrer un texte, entrer par le clavier et fini par un caractere spéciale,ligne par ligne dans fichier texte en lan 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 Problème pour calculer le temps reel d'un fichier midi [ par djeman ] Voila j'ai un projet de clone de Frets on Fire, qui est un clone de guitar hero. Les évènements, apparition d'une note, indication in game, ... sont fichier texte [ par Hous30 ] bonjour je voudrai savoir comment lire le saut de ligne dans un fichier texte en langue c++ mode console merci Problème d'écriture dans une fichier avec VC++ [ par snoopi_19ans ] j'ai développé une petite application avec MFC sur VC++ V6 : **************************** void CTest_Dlg::OnOK() { // TODO: Add extra validation her convertir un fichier texte en fichier XML. [ par boualiasma ] Salut à tous !Je suis en train d'essayer de convertir un fichier texte en xml.Ce fichier texte est structuré, et j'ai donc un identifiant en début de


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,248 sec (3)

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