ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
6127
6127
EMPFEHLEN
-
05.05.05 17:13 #1
- Registriert seit
- Apr 2005
- Beiträge
- 20
Ich habe einen String , in dem binäre Werte stehen. Wie kann ich diese binäre Werte in hexadezimale Werte wandeln ?
-
Einfach über jedes einzelne Zeichen des Strings iterieren und mittels sprintf und strcat einen String mit Hexadezimalwerten erstellen.
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
05.05.05 19:33 #3
- Registriert seit
- Apr 2005
- Beiträge
- 20
ok , thx
ich habe es probiert, aber es funktioniert nicht so ganz.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
char szString2[300]; char szString[300]; strcat(szString2,szString); dp = fopen("bin.txt" , "wb"); fputs(szString2,dp); fclose(dp); sprintf(szString2,"%x",szString); dp = fopen("hex.txt" , "w"); fputs(szString2,dp); fclose(dp);
Der Binärwert in szString ist : ä¤p¥‚ÄÏõÀ5D+]
Der Binärwert in der Datei bin.txt ist : ä¤p¥‚ÄÏõÀ5D+]
Der Hexa-Wert sollte sein : 15e4a470a5la82c4cff5c00435442b5d
Der Wert in der Datei hex.txt ist : 12fe54
Warum ?
Alternativ habe ich noch das hier ausprobiert :
Code :1 2 3
dp = fopen("hex.txt" , "w"); fprintf(dp,"%x",szString); fclose(dp);
Der Wert von szString ist der selbe wie oben. In der Datei hex.txt steht wieder : 12fe54
-
Wenn dein String nur Einsen und Nullen enthält, kannst du auch sehr einfach selbst eine Konvertierungsroutine schreiben, weil sich ja im Binärsystem ein Block von 4 Ziffern 1:1 in eine Hexziffer übersetzen lässt.
-Gawayn
-
Ich hab ja auch gesagt, du sollst über jedes einzelne Zeichen des Strings iterieren! Wenn du es direkt von einer Datei in die andere übertragen willst, dann versuch es mal so in der Art:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <stdio.h> int main() { int c; FILE *fpIn = fopen("bin.txt", "rb"); FILE *fpOut = fopen("hex.txt", "w"); while ((c = fgetc(fpIn)) != EOF) { fprintf(fpOut, "%x", c); } fclose(fpOut); fclose(fpIn); return 0; }„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
Ähnliche Themen
-
VS C++ "In txt einen String nach einem anderen String durchsuchen"
Von Kaldera im Forum C/C++Antworten: 7Letzter Beitrag: 23.11.09, 19:22 -
In einen variablen String einen anderen an bestimmter Stelle einfügen
Von firewing im Forum PHPAntworten: 2Letzter Beitrag: 30.09.09, 23:10 -
Prüfen, ob String einen anderen String enthält
Von kleinevroni im Forum JavaAntworten: 4Letzter Beitrag: 02.11.05, 12:35 -
Aus .txt lesen und EINEN als einen String ausgeben
Von Disap im Forum PHPAntworten: 5Letzter Beitrag: 02.08.05, 17:07 -
VC++-DLL die einen String liefert?
Von ManicMarble im Forum VisualStudio & MFCAntworten: 3Letzter Beitrag: 29.04.04, 20:34





Zitieren

Login






