25. september 2002 - 09:00
Der er
17 kommentarer og 1 løsning
konvertere int værdi til string hex i C
Jeg har det problem at jeg skal bruge en funktion som ud fra en int værdi kan returnere en string indeholdende værdien konverteret til hexadecimal repræsentation. F.eks en int med værdien 9382 bliver til en string med "24A6"... Hvordan ser en sådan funktion ud??
Annonceindlæg fra Deloitte
25. september 2002 - 09:05
#1
int nIntVal=9382; char buffer[33]; printf(buffer, "0x%x", count, count, count, count , nIntVal);
25. september 2002 - 09:06
#2
Ups, lidt for meget med... int nIntVal=9382; char buffer[33]; printf(buffer, "0x%x", nIntVal);
25. september 2002 - 09:25
#3
Jamen jeg skulle returnere værdien og så måske skrive den ud senere, og når jeg gør det med dit eksempel får jeg "warning: makes pointer from integer without a cast".
25. september 2002 - 09:33
#4
#include "stdafx.h" #include <stdio.h> #include <string> using std::string; string ToHex(int nVal) { char buffer[33]; sprintf(buffer, "0x%x", nVal); return string(buffer); } int main(int argc, char* argv[]) { int nIntVal=9382; string strVal = ToHex(nIntVal); return 0; }
25. september 2002 - 09:45
#5
Hej jpk... stdafx.h?? den er ikke inkluderet i den gcc jeg arbejder med??
25. september 2002 - 09:47
#6
glem den...
25. september 2002 - 09:49
#7
Når jeg kun kører din kode... "får jeg string: no such file or directory"
25. september 2002 - 09:53
#8
Du manglede et .h efter string.. men da jeg satte det på, fik jeg: Parseerror before std. String undeclared parseerror before StrVal.
25. september 2002 - 09:55
#9
string er nu, som standard, en del af C++, måske du ikke har de nyeste libs..? Du kan også vælge at gøre således: #include <stdio.h> void ToHex(int nVal, char* pResult) { sprintf(pResult, "0x%x", nVal); } int main(int argc, char* argv[]) { int nIntVal=9382; char retVal[33]; ToHex(nIntVal, retVal); return 0; } retVal indeholder så strengen efter funktionen er kaldt...
25. september 2002 - 09:57
#10
Det er ikke C++ jeg arbejder med... læs subject, det er C!
25. september 2002 - 09:58
#11
Nej, der mangler ikke noget .h Således skrives STL includes!
25. september 2002 - 10:02
#12
Okay, det er C, men hvis du vidste hvor mange spørgsmål der kommer hvor subject siger C, men hvor folk i virkeligheden leder efter en C++-løsning... Nu skrev du jo at funktionen skulle returnerer en string, altså troede jeg at det var en STL string og dermed C++!
25. september 2002 - 10:04
#13
Okay... Nå men hvordan gør man så i C??
25. september 2002 - 10:05
#14
Virker mit ovenstående indlæg (af 25/09-2002 09:55:50) ikke?
25. september 2002 - 10:07
#15
Jo, men den returnere ikke noget... og når jeg prøver at modeficere det så den gør, får jeg errors...
25. september 2002 - 10:08
#16
"retVal indeholder så strengen efter funktionen er kaldt..."
25. september 2002 - 10:11
#17
Jep... du har ret Takker!
25. september 2002 - 10:13
#18
Velbekomme og selv tak...
Kurser inden for grundlæggende programmering