Hex-Konverter



  • Danke Jetzt funktioniert es 👍

    Kann mir jemand sagen wie ich mit einem POINTER auf eine besttimten Array zugreife der sich in der zeile befindet ?



  • helvin schrieb:

    Danke Jetzt funktioniert es 👍

    Kann mir jemand sagen wie ich mit einem POINTER auf eine besttimten Array zugreife der sich in der zeile befindet ?

    ?? Bitte was ??



  • ich will das nicht die ganze Zeile ausgegben wird,
    Der Code sieht folgend aus :

    :10010000 214601360121470136007EFE09D21901 40

    Der erste Teil ist nur die Adresse, aber ich will nur die Daten Ausgeben, aber weiel ich mich nicht mit den pointern nicht auskenne, weis ich nicht wie ich das machen soll.



  • mach es halt nicht über pinter sondern über den index.

    inhalt[10] zeigt dann auf den Anfang der Daten.

    also würde ein

    int i;
     for ( i = 10; i <= strlen(inhalt) - 3; i++)
     {
        printf("%s", inhalt[i]);
     }
    

    versuchs mal so.



  • ich verstehe nicht wie ich ihm einsetzen soll, er gibt mir trotzdem alles aus



  • Das müsste klappen.

    Allerdings setzt es voraus, dass nach jedem Eintrag in deiner Datei ein Zeilenumbruch stattfindet.

    Wenn jemand ne bessere Lösung hat, dann posten ! 🙂

    #include <stdio.h>
    
    int main( int argc, char **argv )
    {
        // Parameter 1 des Aufrufs ist die Quelldatei
        FILE *f = fopen( argv[1], "r" );
        if ( !f )
        {
            printf("Quelldatei \"%s\" nicht gefunden !!\n", argv[1]);
            return 1;
        }
    
        //Zählvariable i für die ausgabe
    	int i = 0;
        char inhalt[80];
    
        while( fgets(inhalt, 80, f) != NULL )
        {   
    		for ( i = 10; i <= (strlen(inhalt) -5); i++)
    		{
    			printf("%c", inhalt[i]);
    		}
    
    		printf("\n");
        }
    
        fclose( f );
    }
    


  • Wenn ich diesen Code fuer diesen Text nehme, dann schreibt er mir die 5 zeile nicht aus.

    #include <stdio.h>
    #include <string.h>

    int main( int argc, char **argv )
    {
    // Parameter 1 des Aufrufs ist die Quelldatei

    FILE *pFile = fopen( "hex.txt", "r" );

    if (pFile == NULL) perror ("Error opening file");

    //Zählvariable i für die Ausgabe

    int i = 0;

    char inhalt[1024];

    while( fgets(inhalt, 1024, pFile) != NULL )
    {
    for ( i = 9; i <= (strlen(inhalt) - 4); i++)
    {
    printf("%c", inhalt[i]);
    }

    printf("\n",inhalt[i]);
    }

    fclose( pFile );

    return 0;
    }
    TEXT:
    :10010000214601360121470136007EFE09D2190140
    :100110002146017EB7C20001FF5F16002148011988
    :10012000194E79234623965778239EDA3F01B2CAA7
    :100130003F0156702B5E712B722B732146013421C7

    :00000001FF

    bekomme ich nur diese ausgabe und die ausgabe aber die 5 Zeile nicht.Erst wenn die Zeile groesser ist gibt er Sie aus .Wo ist der Fehler?



  • Der Code lautet:

    :10010000214601360121470136007EFE09D2190140
    :100110002146017EB7C20001FF5F16002148011988
    :10012000194E79234623965778239EDA3F01B2CAA7
    :100130003F0156702B5E712B722B732146013421C7
    :00000001FF
    aber die 5 zeile gibt er nicht aus .



  • Kannst du eigentlich überhaupt C ? 😕
    Nicht nur kopieren und einfügen ! Selber mitdenken ist angebracht !

    Du hast gesagt, die ersten 10 Zeichen und die letzten 5 (die Zahlen wo du nicht brauchst + \n) Zeichen aus so einer Line interessieren dich nicht!

    :10010000214601360121470136007EFE09D2190140

    Also macht mein Code nichts anderes als die ersten 10 und die letzten 2 Zeichen abzuschneiden und auszugeben.

    Wenn du jetzt aber eine Zeile angibst die schon nach 13 zeichen endet. Dann is es doch ganz klar dass er dir nichst ausgibt. Weil die ersten 10 und die letzten 3 Zeichen abgeschnitten werden. Ergo, es bleibt nichts übrig was er ausgeben könnte !

    Wenn die das nicht weiterhilft dann lern erstmal C. ⚠

    Sorry



  • mein Fehler, ich habe es nicht bemerkt

    sorry 😃



  • gibt es irgendeine funktion die diesen code in einem ASCII code umwandelt, ewentuel in BINAER Code.



  • das macht printf ! Lies diesen Thread nochmal durch. steht schon alles da.



  • kann man jede Zeile auswerten, ich meine fuer jede zeile den BINAER und ASCII Codu zu berechnen, wenn Ja ,wie?


Anmelden zum Antworten