|
Forum Flash, Actionscript, PHP e MySQL
|
|
|
|
|
|
| Autore |
Messaggio |
ali7.p
nuovo utente

Registrato: 06/07/06 16:18
Messaggi: 4
|
Oggetto: [C] comparazione file di testo
Inviato: 06.07.06 | 16:19 |
|
|
Help me please!!
Devo scrivere un prgramma C che accetta come parametri di ingresso due file di testo e restituisce in uscita la copia delle righe del secondo file che differiscono dalle corrispondenti righe del primo indicando per ciascuna di esse il numero di riga
... almeno datemi qualche suggerimento... |
|
| Torna in cima |
|
|
Sponsor
|
|
 |
giammy
moderatore


Registrato: 29/04/05 17:22
Messaggi: 75
|
Oggetto:
Inviato: 10.07.06 | 12:28 |
|
|
ciao,
mi pare che quello che vuoi tu sia il comando grep.
prova a cercare i sorgenti e prendere ispirazione da quelli
ciao
giammy |
|
| Torna in cima |
|
|
ali7.p
nuovo utente

Registrato: 06/07/06 16:18
Messaggi: 4
|
|
| Torna in cima |
|
|
giammy
moderatore


Registrato: 29/04/05 17:22
Messaggi: 75
|
Oggetto:
Inviato: 12.07.06 | 10:31 |
|
|
| ali7.p ha scritto: | io ho buttao giù questo codice... ma c'è qualcosa che non va...
boh- da una lettura veloce mi son perso dov'e' che leggi i dati dal file:
la priva volta che usi array1, e' inizializzato? dove?
| Codice: | #include <stdio.h>
#include<string.h>
char array1[MAX_DIM];
char array2[MAX_DIM];
char aux1[MAX_DIM];
char aux2[MAX_DIM];
unsigned int contatoreRighe=1;
unsigned int pos1=0;
unsigned int pos2=0;
unsigned int i;
int main (int argc, char *argv[]) {
if (argc != 3) {
printf("Parametri non validi - La sintassi corretta e'\n\n"
"%s file_1 file_2\n", argv[0]);
exit(1);
}
FILE *fp;
fp=fopen(argv[1],"r");
if(fp==NULL) {
printf("ERRORE nell'accesso ai dati");
exit(1);
}
FILE *fp1;
fp1=fopen(argv[2],"r");
if(fp1==NULL) {
printf("ERRORE nell'accesso ai dati");
exit(0);
}
while ((array[pos1])&&(array2[pos2])) {
for (i=0;((array1[pos1]!=newline)&&(array1[pos1]));pos1++,i++)
aux1[i]=array1[pos1];
aux1[i]='\0'; // chiude la stringa copiata carattere per carattere
for (i=0;((array2[pos2]!=newline)&&(array2[pos2]));pos2++,i++)
aux2[i]=array2[pos2];
aux2[i]='0';
if (strcmp(aux1,aux2)!=0)
printf("\nRiga numero %u: %s\n", contatoreRighe,aux2);
contatoreRighe++;
if (array1[pos1]) // incrementa indice array solo se non è alla fine
pos1++;
if (array2[pos2])
pos2++;
}
} |
|
|
|
| Torna in cima |
|
|
ali7.p
nuovo utente

Registrato: 06/07/06 16:18
Messaggi: 4
|
Oggetto:
Inviato: 01.09.06 | 17:59 |
|
|
| l'array era inizializzato all'inizio, cmq non importa, ho risolto |
|
| Torna in cima |
|
|
|
|
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum Non puoi allegare files in questo forum Puoi downloadare gli allegati in questo forum
|
|