| [Resolu] Problème fichier texte et FANN | |
|
|
Auteur | Message |
---|
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: [Resolu] Problème fichier texte et FANN Ven 1 Nov 2013 - 23:44 | |
| Bonsoir, j'ai super trop mega besoin de vous pour m'aider 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 - 22:46, édité 1 fois |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Problème fichier texte et FANN Sam 2 Nov 2013 - 10: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+".
|
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Lun 4 Nov 2013 - 18: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 ^^ _________________ |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Problème fichier texte et FANN Lun 4 Nov 2013 - 21: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? |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 18: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 _________________ |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 20: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. |
|
| |
D-z Utilisateur confirmé: Rang *****
Messages : 1611 Localisation : Montpellier
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 20: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.
|
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 20:38 | |
| et je fais comment ça ?
Ya pas de fonction pour supprimer un mot dans un fichier... (si je me trompe pas) _________________ |
|
| |
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 21: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 (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é _________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 22:21 | |
| Je veux juste incrémenter de 1 mon tout premier mot du fichier soit : 11392 _________________ |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mar 5 Nov 2013 - 22: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=coursBon 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. |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mer 6 Nov 2013 - 16: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 _________________ |
|
| |
onilink_ Modérateur
Messages : 9180 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mer 6 Nov 2013 - 18: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 |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Mer 6 Nov 2013 - 22:46 | |
| Problème résolu (je te montrerai) _________________ |
|
| |
Mobi Utilisateur confirmé: Rang ****
Messages : 1256 Localisation : Dijon
| Sujet: Re: [Resolu] Problème fichier texte et FANN Jeu 7 Nov 2013 - 22: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 Es-ce que j'ai mal fait ? _________________ |
|
| |
Contenu sponsorisé
| Sujet: Re: [Resolu] Problème fichier texte et FANN | |
| |
|
| |
| [Resolu] Problème fichier texte et FANN | |
|