Oppure

Loading
10/12/08 21:30
feddur
Salve,
vorrei creare un programa che, leggendo un file di testo, mi evidenzi dello stesso colore le righe che hanno nei primi caratteri lo stesso numero.
Faccio un esempio:
[543200](20:56 - 3/11/2008)     >> Aperta
[4373200](20:56 - 3/11/2008)    >> Chiusa
[173736](20:56 - 3/11/2008)	>> Aperta
[0274536](20:56 - 3/11/2008)	>> Aperta 
[0274536](20:56 - 3/11/2008)	>> Chiusa 

quindi le prime 3 righe devono avere colore diverso e le ultime due di colore uguale.
due righe con codice iniziale diverso devono avere un colore diverso.
anche a distanza di decine di righe potrebbe tornare un codice già visto in precedenza.
chi mi potrebbe aiutare?
mi sono spiegato?
Ultima modifica effettuata da feddur 10/12/08 21:44
aaa
11/12/08 19:13
mc
Dipende dal sistema operativo ...
aaa
11/12/08 22:10
feddur
Postato originariamente da mc:

Dipende dal sistema operativo ...


XP

facendo le cose passo passo mi servirebbe il modo per leggere il file rigo per rigo.. chi mi aiuta?
aaa
11/12/08 23:52
mc
Per leggere riga per riga, fgets ...
Per colorare, textcolor, se è presente conio.h con relativa libreria.
aaa
12/12/08 18:46
feddur
ho trovato questo su internet..
#include <iostream>
#include <fstream>
using namespace std;

int main() {
FILE* stream;
char buf[30];

stream=fopen("testo.txt","r");

while( fscanf(stream,"%s\n",buf) != EOF )
fprintf(stdout,"%s",buf);

fclose(stream);

system("PAUSE");

return 0;
}


solo che non riesco ad adattarlo per leggere riga per riga..
aaa
13/12/08 16:34
mc
#include <stdio.h>
#include <stdlib.h>

#define SIZE 30

int main(void) {

   FILE* stream = NULL;
   char buf[SIZE];

   stream = fopen("testo.txt","r");

   if(stream == NULL){

      puts("Errore fopen :");
      return 1;

   }

   while(!feof(stream)){

      if(fgets(buf, SIZE - 1, stream) == NULL)
         break;

      buf[SIZE - 1] = '
#include <stdio.h>
#include <stdlib.h>

#define SIZE 30

int main(void) {

   FILE* stream = NULL;
   char buf[SIZE];

   stream = fopen("testo.txt","r");

   if(stream == NULL){

      puts("Errore fopen :");
      return 1;

   }

   while(!feof(stream)){

      if(fgets(buf, SIZE - 1, stream) == NULL)
         break;

      buf[SIZE - 1] = '{parsed_message}';

      puts(buf);

   }

   fclose(stream);

   system("PAUSE");

   return 0;
}
'; puts(buf); } fclose(stream); system("PAUSE"); return 0; }
Ultima modifica effettuata da mc 13/12/08 16:37
aaa