AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 [Resolu] Problème fichier texte et FANN

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: [Resolu] Problème fichier texte et FANN   Ven 1 Nov 2013 - 22:44

Bonsoir, j'ai super trop mega besoin de vous pour m'aider awesome 

Explication : J'ai un fichier texte de quelques centaine de millier de lignes, et je veux juste changer le premier mot de ce texte (c'est un nombre qui correspond à (nbDeLigne-1)/2)
Et j'ai besoin d'incrémenter ce nombre à chaque ajout de ligne dans mon fichier texte !!!
(J'utilise la librairie fann, mais je n'ai pas trouvé de fonction pour le faire)

Exemple de fichier :
Code:
11392 16 1
0.000049 0.000067 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.029998
0.000395 0.000524 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.104800
0.000179 0.000252 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.069600
0.000891 0.001229 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.068000
0.000050 0.000061 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.033200
0.000958 0.000986 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.029998
0.000404 0.000535 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.074600
0.000393 0.000427 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.049400
0.000027 0.000038 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.029998
0.000164 0.000203 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.058000
0.000021 0.000030 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.052200
0.000053 0.000094 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.043600
0.000476 0.000706 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.094200
0.000128 0.000162 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.121200
0.000331 0.000482 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.172600
0.001509 0.002037 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.091800
0.000017 0.000025 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.054200
0.000218 0.000331 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.039200
0.000325 0.000464 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.068400
0.000245 0.000367 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.090400
0.000238 0.000326 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.073400
0.000190 0.000271 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.035600
0.000265 0.000359 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.637999
0.002158 0.003086 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.056200
0.000067 0.000106 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Merci de votre aide

_________________


Dernière édition par Mobi le Mer 6 Nov 2013 - 21:46, édité 1 fois
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Sam 2 Nov 2013 - 9:58

La le soucis c'est qu'en mode texte, tu peux pas réécrire par dessus ta première ligne car si tu dépasses sa taille, ça va bouffer sur la ligne suivante.
Tu devrais donc passer en mode binaire, ainsi un int prendra toujours 4 octets et en le modifiant tu risque pas d’abîmer ce qu'il y a après.
Après pour le remplacement tout dépend des fonctions que tu utilises. De souvenir avec fopen faut spécifier "wb+".

_________________
                 
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Lun 4 Nov 2013 - 17:39

Bon ba je vais chercher une fonction sur la fann (qui est très mal documenté soit dit en passant) parce que ça doit être assez lourd comme procédure d'ouvrir mon fichier texte à chaque tour de boucle ^^

_________________
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Lun 4 Nov 2013 - 20:55

Suffit de le garder ouvert, et si c'est juste pour remplacer une dizaine d'octets c'est pas du tout lourd non :b

Mais je vois pas pourquoi faire ça chaque tour de boucle, tu peux pas le faire a la fin de ta procédure?
Ou tous les n tours de boucle?

_________________
                 
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 17:45

parce que je dois rajouter :

Code:
0.000050 0.000061 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0.033200
à chaque tour de boucle

et donc incrémenter de 1 mon premier mot du fichier

_________________
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 19:29

Utilises un buffer.
En gros tu alloues un espace mémoire d'une certaine taille (assez conséquente pour avoir de meilleurs perfs, genre une dizaine de mo) et tu l'utilises pour écrire tes données, au lieu d'écrire dans le fichier.
Quand t'arrives a la fin du buffer, tu l'écrit dans le fichier, et tu reviens au début du buffer...

Pour ce qui est de remplacer la valeur 'nombre de lignes/2' dans ton fichier, comme je te l'ai dit il faut être en binaire (mode "wb+"), et tu n'as qu'a le faire après l'écriture du buffer.

_________________
                 
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
avatar

Messages : 1609
Localisation : Montpellier

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 19:29

Peut-être pas nécessaire de coller de si près au déroulement du programme, suffit de rajouter à la première ligne la valeur de ton compteur de boucle une fois que tu en sors ;)

_________________
 
Home is not a place, it's a feeling.
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 19:38

et je fais comment ça ?

Ya pas de fonction pour supprimer un mot dans un fichier... (si je me trompe pas)

_________________
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 20:31

Tu veux faire quoi exactement en fait ?
Sinon, de ce que j'ai compris, à partir du moment ou t'arrive à écrire à une position précise du fichier (avec la méthode d'oni), bah tu peux facilement trouver le premier mot : il part de l'index 0 jusqu'à la position du premier espace, moins 1. Et pour trouver la position du premier espace, bah un simple for suffit Smile (par contre tu fais un break dès que t'as trouvé l'espace, ca sert à rien de parcourir le reste du fichier ^^)
Bon je dis peut-être de la *****, vu que j'ai pas tout capté Yum! 

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 21:21

Je veux juste incrémenter de 1 mon tout premier mot du fichier soit : 11392

_________________
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mar 5 Nov 2013 - 21:33

Déjà répondu 2 fois...
Tu ouvres en mode "wb+" (je suis pas tout a fait sur mais normalement c'est ça), ce mode ouvre le fichier en écriture sans supprimer son contenu, et quand tu écris ça écrase par dessus ce que tu avais si ton curseur est positionné la ou y a des données, sinon ça ajoute...

Pour aller au début du fichier tu fais un fseek(f, 0, SEEK_SET)
Tu écris la valeur que tu veux, puis tu retournes a la fin du fichier avec un fseek(f, 0, SEEK_END)
Bien sur si t'es en mode texte ça risque d'avoir des conséquences aléatoires étant donné que la chaîne utilisée pour coder ton nombre auras pas forcément toujours la même taille, contrairement à l'écriture en mode binaire.

http://melem.developpez.com/tutoriels/langage-c/fichiers/?page=cours

Bon c'est du C mais y a l'équivalent en C++, a toi de regarder sur c++ référence.

Mobi a écrit:
et je fais comment ça ?

Ya pas de fonction pour supprimer un mot dans un fichier... (si je me trompe pas)
Normal les données sont écrite en continue sur ton disque dur. Supprimer un mot dans un fichier signifie réécrire tout le fichier. C'est donc totalement a proscrire.

_________________
                 
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mer 6 Nov 2013 - 15:38

Merci j'ai compris maintenant, mais je trouve le doc de la FANN super mal expliquer... il y aucun exemple commenté, juste un tas de ligne identique... Et ils sont tous basé sur des fichiers textes déjà remplis, donc je cherche à comprendre comment ils ont été rempli

_________________
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8926
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mer 6 Nov 2013 - 17:12

La lecture/écriture des fichiers c'est dans la librairie standard, donc c'est normal que FANN n'en parle pas.
Nul n'est sensé ignorer la std mrgreen2 

_________________
                 
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Mer 6 Nov 2013 - 21:46

Problème résolu (je te montrerai) awesome

_________________
Revenir en haut Aller en bas
Mobi
Utilisateur confirmé: Rang ****
avatar

Messages : 1256
Localisation : Dijon

MessageSujet: Re: [Resolu] Problème fichier texte et FANN   Jeu 7 Nov 2013 - 21:55

Je profite de mon topic pour demander des explications sur les méthodes/fonctions au nombre d'argument variable...

Code:
void ANN::save_input(float input, ...)
{
    float arguments = input;

    va_list ap;

    va_start(ap, input);

    do
    {
        input_list.push_back(arguments);
        arguments = va_arg(ap, float); // on obtient le paramètre actuel


    }while(arguments != NULL); // ...Tant qu'on ne trouve pas le paramètre NULL

    va_end(ap);
}
J'ai ça, mais quand je mets un float ici :

Code:
arguments = va_arg(ap, float);
Mon programme cesse de fonctionner triste 

Es-ce que j'ai mal fait ?

_________________
Revenir en haut Aller en bas
Contenu sponsorisé




MessageSujet: Re: [Resolu] Problème fichier texte et FANN   

Revenir en haut Aller en bas
 
[Resolu] Problème fichier texte et FANN
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Heredis et l'importation des textes
» [resolu] Problème ouverture H10 : impossible créer répertoire
» [résolu]Problème à l'ouverture d'un fichier H13
» [résolu] Problème avec fichiers BKH
» [Resolu] Duplication de l'icone fichier Hérédis 13 sur Bureau

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: