Mit C oder C++ Umsetzbar?



  • Einfach schrieb:

    @sandyyyyyy:
    ...Bist du einfach nur an schnellen und fertigen Lösungen interessiert?! ...

    Bin ich der Einzige, der nach drei Postings des TE in diesem Thread genau diesen Eindruck hat?



  • @sandyyyyyyy: Ich hoffe, dass du nur ein Azubi im ersten Jahr bist! Wenn das dein Praktikum fürs Studium ist, ist das mehr als peinlich, denn das bedeutet, dass du dich die ganze Zeit vorbei gemogelt hast, sprich, du warst, so wie jetzt, nur an schnellen Lösungen von Kommilitonen interessiert und entsprechend hast du jetzt keine Skills und kriegst jetzt eine einfache Aufgabe nicht mal mit großzügiger Hilfestellung hin. Du überliest Tipps, willst einfach nur Code, dir ist der Sinn vom Debuggen nicht mal im geringsten klar und zeigst nicht mal einen Funken Dankbarkeit. Es würde mich nicht wundern, wenn du den Beitrag nicht mal mehr liest, weil sich dein Problem erledigt hat und du dich einfach kommentarlos aus dem Staub gemacht hast.



  • Belli schrieb:

    Einfach schrieb:

    @sandyyyyyy:
    ...Bist du einfach nur an schnellen und fertigen Lösungen interessiert?! ...

    Bin ich der Einzige, der nach drei Postings des TE in diesem Thread genau diesen Eindruck hat?

    Nein.



  • Hallo,

    so nun hab Ich es mit dem binär mode hinbekommen und die Software mit einigen Dateien überprüft. Man Kann sagen, dass es zu 80% super funktioniert.
    Es gibt aber manschmal Fälle indem Byte1 und Byte2 gleich aber trotz dessen ein der Weet von Byte2 in der 4.bin geschrieben.

    Woran es liegt ist mir ein rätsel.

    Bei den an gehangenen Dateien kommt es z.b. als erstes bei Byte D5 vor.
    Eigentlich müsste 60 in 4.bin stehen jedoch steht D5 in der position.
    Obwohl in 1.bin und 2.bin in der selben position die Werte D5 sind.

    Laut dem Hexaeditor sind es auch unterschiedliche Blnäre Werte, dürfte somit nicht passieren:
    D5 1101 0101
    60 0110 0000

    [code="c"]#include <stdio.h>
    #include <stdlib.h>

    /* run this program using the console pauser or add your own getch, system("pause") or input loop */

    int main(int argc, char *argv[]) {

    int byte1;
    char byte2, byte3;
    FILE *f1, *f2, *f3, *f4;

    f1 = fopen("C:\\Users\\HASSANEIN\\Desktop\\test\\1.bin","r+b"); // read mode
    f2 = fopen("C:\\Users\\HASSANEIN\\Desktop\\test\\2.bin","r+b"); // read mode
    f3 = fopen("C:\\Users\\HASSANEIN\\Desktop\\test\\3.bin","r+b"); // read mode
    f4 = fopen("C:\\Users\\HASSANEIN\\Desktop\\test\\4.bin","w+b"); // write mode

    if( f1 == NULL || f2 == NULL || f3 == NULL || f4 == NULL )
    {
    perror("Error while opening the file.\n");
    exit(EXIT_FAILURE);
    }

    while( ( byte1 = fgetc(f1) ) != EOF ) {

    byte2 = fgetc(f2);
    byte3 = fgetc(f3);

    if (byte1 != byte2 ) {
    fputc(byte2, f4);
    }

    else{
    fputc(byte3, f4);
    }

    }

    // überprüfe ob Datei richtig ist

    fclose(f1);
    fclose(f2);
    fclose(f3);
    fclose(f4);

    printf("Mission erfolgreich!");
    return 0;

    }[code="c"]

    hier sind Dateien:
    http://workupload.com/file/PUgeDRoR



  • Das liegt am Vorzeichen.

    0xD5 ist bei signed char negativ.

    Mach alle byteX zu int .



  • Supi, herzlichen dank!!

    Was die Dankbarkeit angeht, so tuts mir leid, wenn es so rüber kommt.

    Bin gerne Bereit eine spende an das Forum zu zahlen, habt ihr eine Paypak Emailadresse?

    Danke!


Anmelden zum Antworten