devc26
Messages postés14Date d'inscriptionvendredi 20 novembre 2009StatutMembreDernière intervention12 février 2010
-
7 févr. 2010 à 18:28
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011
-
15 févr. 2010 à 13:57
Bonjour,
Je dois réaliser une "moulinette" en C/C++ permettant de modifier l'affichage de résultats en format texte ( contexte: Visual Studio 2003).Ces fichiers se presentent sous la forme suivante:
Continuite_In
-------------
0 2 Continuite_in1 DGIN_31 -0.001mA -344.969mV -442.224mV -199.939mV
Pass
0 3 Continuite_in1 DGIN_30 -0.001mA -694.289mV -438.907mV -199.939mV Pass
0 56 Continuite_in_AN_00 AN_00_V 500.0mV 450.0uA 500.5uA 550.0uA Pass
0 57 Continuite_in_AN_01 AN_01_V 500.0mV 450.0uA 501.4uA 550.0uA Pass
Continuite_Out
--------------
0 76 Continuite_out1 DGO_31 -0.001mA -694.135mV -412.598mV -199.939mV Pass
0 77 Continuite_out1 DGO_30 -0.001mA -765.246mV -410.677mV -199.939mV Pass
Aprés traitement, ce fichier doit avoir la forme suivante:
Continuite_in1 DGIN_31 442.224mV True
Continuite_in1 DGIN_30 -438.907mV True
Continuite_in_AN_00 AN_00_V 500.5uA True
Mon problème réside dans l'utilisation de la bibliothèque "String", notamment des fonctions Get/Getline/replace afin de sélectionner les lignes et les colonnes voulues ( à savoir les colonnes 3/4/7 et 9)et de mofifier les Pass en True et les Fail en False. Voici mon code de lecture/ecriture ( création dans un nouveau fichier)
#include
#include<string>
#include <fstream>
using namespace std;
dragonjoker59
Messages postés92Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention23 septembre 2015 12 févr. 2010 à 10:31
pourquoi n'utilises tu pas la fonction getline de inputfile ?
Ensuite tu peux écrire une fonction split qui découpe tes lignes en se servant du caractère ' ' comme séparateur, et enfin tu recrées une ligne qui correspond à celle que tu voudrais à partir des mots récupérés. Ca ne devrait pas être trop dur ^^
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 12 févr. 2010 à 15:52
Salut,
Je suis du même avis (boucler sur chaque ligne, l'analyser, et en retourner la ligne à mettre dans le nouveau fichier).
Une précision cependant, dans ton programme tu n'utilises pas String comme tu l'as ennoncé, mais string (STL).
devc26
Messages postés14Date d'inscriptionvendredi 20 novembre 2009StatutMembreDernière intervention12 février 2010 12 févr. 2010 à 21:55
Salut,
oui tu as raison, en fait je voulais utiliser la librairie string pour le getline ; du coup avec la fonction split je n'aurai pas besoin d'utiliser STL Algo, n'est-ce pas?
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 15 févr. 2010 à 13:57
Je crois qu'avec le scanf du C, si tu mets le masque %s, tu ne récupères qu'un mot, ou au pire, une minuscule boucle qui boucle sur la chaine jusqu'aux espaces et place les mots dans un tableau, c'est sans doute plus simple et rapide, non ?