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<iostream>
#include<string>
#include <fstream>
using namespace std;
int main () {
char * buffer;
long size;
ifstream inputfile ("textfile.txt",ifstream::binary);
ofstream outputfile ("new.txt",ofstream::binary);
inputfile.seekg(0,ifstream::end);
size=infile.tellg();
infile.seekg(0);
buffer = new char [size];
inputfile.read (buffer,size);
outputfile.write (buffer,size);
delete[] buffer;
outfile.close();
infile.close();
return 0;
}
Je ne sais pas comment intégrer ces fonctions dans ce contexte (sans doute que mon approche n'est pas bonne).Est-ce que quelqu'un pourrait m'aider?
Merci, par avance.