Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » substring

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.04.2005, 17:52 Uhr
sternchen_1709



hallo an alle,

hab ein kleines problem und komme einfach nicht drauf ;(! allgemein gesagt möchte ich aus einem const char* einen subtring isolieren,den ich später in eine zahl zurückkonvertieren will.
"irgendeinstring" ist ursprünglich eine int-zahl gewesen, die ich in einen const char* konvertiert habe. in meinem substring möchte ich das erste zeichen weglassen und nur den rest wieder zurück in einen int-wert konvertieren. geht das?

lieben gruß
sternchen

PSEUDO


C++:

...
const char *name = irgendeinstring;
const int nameLength = irgendeinstring.length();

char *subString;

for(int l=1;l<nameLength;l++){

subString[l-1]=name[l];
}

int a = atoi(subString);

...

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.04.2005, 21:13 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


da du ja scheinbar mfc-benutzt (da du im mfc-forum postest nehm ich das mal an) machs doch einfach so:


C++:
CString str = irgendeinstring;
CString subString = str.Mid(1);
int a = atoi(subString);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
27.04.2005, 22:23 Uhr
sternchen_1709



ähm..da bin ich hier wohl falsch. eigentlich hab ich mit mfc nichts am hut?geht das denn irgendie noch anders?

danke dir übrigens sehr dass du so schnell geantwortet hast.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
27.04.2005, 22:38 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ansonsten würde ichs so machen:


C++:
const char *deinstring = " 15 Beispiel";

const char *substring = (deinstring + 1);
int a = atoi(substring);



substring sollte nun "15 Beispiel" enthalten. (ohne beginnendes leerzeichen in diesem fall)
Achja, substring ist dann nicht änderbar, da ja nur auf deinstring zeigt.

Ansonsten:


C++:
const char *deinstring = " 15 Beispiel";

char *substring = new char[strlen(deinstring)+1];

for(int x = 1, y = 0; x < strlen(deinstring); x++)
{
  substring[y] = deinstring[x];
  substring[y+1] = '\0';
}

int a = atoi(substring);

delete[] substring; // pointer löschen nicht vergessen





Bearbeitung:

die schleife könnte man sich theoretisch auch sparen:


C++:
strcpy(substring,deinstring+1);


(statt strcpy kann man auch snprintf usw nehmen, je nach lust und sicherheitslaune)



ich verschieb dich mal nach WinAPI, da kann man nix falsch machen damit ^^
--
class God : public ChuckNorris { };

Dieser Post wurde am 27.04.2005 um 22:41 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: