Avatar billede bjering Nybegynder
01. februar 2007 - 23:39 Der er 6 kommentarer og
1 løsning

Lave en tekst streng om til en nummer (meget specielt)

Hejsa eksperter (igen) :)

Jeg har en masse filer som har et navn.. f.eks

7ff88000.fil (f.eks)

jeg skal have navnet lavet om fra hex til decimal

f.eks

7ff8 = 32760
8000 = 32768

hvordan kan det lade sig gøre i C++ ?

jeg har allerede sådan jeg kan læse navnet på filen fra dir, og den læser det ind som skrevet (i char)

sidder og bøvler lidt med det, og lidt hjælp ville hjælpe en del :)

Tak
Avatar billede bjering Nybegynder
01. februar 2007 - 23:58 #1
har sat og rodet lidt med atoi, men jeg syntes ikke rigtig jeg kan få det til at funke :(
Avatar billede bertelbrander Novice
02. februar 2007 - 00:13 #2
#include <sstream>
#include <string>
#include <iostream>
#include <iomanip>

int FromString(const std::string& arg)
{
  std::stringstream SS(arg);
  int i;
  SS >> std::hex >> i;
  return i;
}

int main()
{
  char inp[] = "7ff88000.fil";
  std::cout << FromString(std::string(inp).substr(0, 4)) << ", " <<
                FromString(std::string(inp).substr(4, 8)) << std::endl;
}
Avatar billede bertelbrander Novice
02. februar 2007 - 00:14 #3
Det forudsætter dog at det altid er 4 tegn til hver tal.
Og det skulle ikke have været et svar, vil du være så venlig at afvise det?
Avatar billede bertelbrander Novice
02. februar 2007 - 00:25 #4
Man kan naturligvis også:
#include <iostream>
#include <sstream>

unsigned int FromString(const std::string& arg)
{
  std::stringstream SS(arg);
  int i;
  SS >> std::hex >> i;
  return i;
}

int main()
{
  char inp[] = "7ff88000.fil";
  unsigned int N = FromString(inp);
  std::cout << int(N >> 16) << ", " << int(N & 0xFFFF) << std::endl;
}
Avatar billede bjering Nybegynder
02. februar 2007 - 14:41 #5
okay, men det funker ellers, hvorfor så ikke svar :o
Avatar billede bertelbrander Novice
03. februar 2007 - 01:31 #6
Jeg samler ikke på point.
Avatar billede bjering Nybegynder
03. februar 2007 - 11:56 #7
okay, men takker mange gange så :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester