Hex-Konverter
-
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 QuelldateiFILE *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
:00000001FFbekomme 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?