Hej alle.
Jeg forsøget at finde en måde at finde forskellen mellem 2 filer.
Men hvordan gøres det nemmest.
Jeg har forsøgt lidt med sprintf , hvor man kaster bogstaver op i en buffer,
men den tager jo kun et bogstav afgangen.
Også forsøgt med if (ch1 != ch2)..........................
Den skulle kunne printe forskellen ud....
hmm tænker !!!
Er der nogle gode ideer, jeg kan bruge til at komme videre..
Håber nogle kan hjælpe...
Mange tak på forhånd
!G!
Jeg skrive i C...
Der er kommentar omkring en del af koden, da jeg har forsøgt mig lidt
frem....
---------kode indtil nu-------------------------klip
#include <stdio.h>
#include <conio.h>
/* Programmet Compare skal kunne finde forskellen mellem
2 filer (file1 og file2), og printe forskellen ud */
int main()
{
FILE *one, *two;
int ch1, ch2;
int fileone = 0;
int filetwo = 0;
/*char *buf1 =*/
char buffer1[80];
one = fopen("file1.txt", "rb");
two = fopen("file2.txt", "rb");
if (!one) perror ("Der er ingen File1.txt");
if (!two) perror ("Der er ingen File2.txt");
while(1)
{
ch1 = fgetc(one);
ch2 = fgetc(two);
if (ch1 == EOF) {printf("SLUT1\n"); break;}
if (ch2 == EOF) {printf("SLUT2\n"); break;}
if(ch1 != '\n')
sprintf(buffer1, "%c", ch1);
printf("Her printes buffer1:");
puts(buffer1);
/*
if(ch1 == '\n')
fileone++;
if(ch2 == '\n')
filetwo++;
if (ch1 != ch2)
{
textcolor(WHITE);
printf("%c", ch1);
}
/*if (ch2 != ch1 && ch1 != ch2)
{
textcolor(LIGHTCYAN);
cprintf("LINE: %d: %c", filetwo, ch2);
textcolor(YELLOW);
cprintf("%c", ch2);
} */
/* else
{
textcolor(YELLOW);
cprintf("%c", ch2);
} */
}
printf("\n\nAntal Newline i File1: %d\n", fileone);
printf("Antal Newline i File2: %d\n", filetwo);
fclose(one);
fclose(two);
getch();
return 0;
}
|