Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » String zerlegen

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
29.11.2005, 20:30 Uhr
~Splitty
Gast


Hallo Leute,

ich hab nur eine ganz simple Frage,
wie kann ich einen String in einzelne Zeichen zerlegen?

vorgestellt hab ich mir das etwa so:




int Hallo;
Hallo = 5824597;

cout << Hallo[3];



Ausgegeben werden sollte dann "4".

Wichtig ist mir dass kein Trennzeichen zwischen den Zahlen steht.

Hat jemand eine Idee?
danke schonmal im Voraus

Gruß

Alex
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
29.11.2005, 20:50 Uhr
predator



int ist kein String!

Mit C++ könntest du das dann so machen:

C++:
#include <iostream>
#include <sstream>
#include <string>

int main()
{
    int foo = 5824597;
    std::string fooAlsString;
    std::ostringstream bar;

    bar << foo;
    fooAlsString = bar.str();

    std::cout << fooAlsString.at(3) << std::endl;

    return 0;
}


Ausgegeben wird 4
--
Gruß
predator
Zitat von Edsger W. Dijkstra:
Es ist praktisch unmöglich, einem Studenten gutes Programmieren beizubringen, wenn er vorher in BASIC programmiert hat. Als potenzielle Programmierer sind sie geistig verstümmelt ohne Hoffnung auf Erholung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
29.11.2005, 20:57 Uhr
~Splitty
Gast


Danke, meinte ich brauch das aber für C, sorry hab ich vergessen dabei zu schreiben.

Und natülich meint ich Integer
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
29.11.2005, 21:17 Uhr
ao

(Operator)



Zitat von ~Splitty:
ich brauch das aber für C

Darum nimmst du auch cout für die Ausgabe, woll?

In C:
Zahl in einen String drucken mit sprintf
Ergebnis ausgeben mit printf.
Vorher #include <stdio.h> machen.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.11.2005, 21:34 Uhr
~Splitty
Gast


ey wadde ma, das soll aber int bleiben, denn ich will mit den Zahlen noch rechnen

ja sry, das cout hätt ich nicht dahin machen sollen^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
29.11.2005, 21:51 Uhr
Sponge



also versteh ich das richtig..
du wolst nur die Ziffern der einzelnen Zahlen haben ?

dann könnte man doch sicherlich sowas machen


C++:
int Hallo = 5824597;

int letzteZiffer = ((double)(Hallo / 10 )%1) * 10;
int vorletzterZiffer = (((double)(Hallo-letzteZiffer) / 10)%1) * 10;



Und das ganze in eine Schleife packen, bis Hallo - Ziffer = 0 ist

Hab es ned probiert.. war nur mein erster Einfall
Es geht sicherlich schöner ...
--
Es gibt 10 Arten von Leuten:
die, die das binäre System verstanden haben,
und die, die es nicht verstanden haben ^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
29.11.2005, 23:03 Uhr
~Splitty
Gast


also ich will mir das aussuchen können welche Zahl ich haben will etwa so:




int horst;

int main()
{
int wurst[] = {1, 2, 3};

horst = wurst[2] * wurst[2];
cout << horst;

getch();
return 0;
}

nur da hab ich n fieses "," dadrinne.

also das von dir Sponge geht leider nicht in C.


Jawohl C! ^^
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
30.11.2005, 06:07 Uhr
0xdeadbeef
Gott
(Operator)


Was geht, ist folgendes:

C++:
int x = 12345;
int y = (x / 1e1) % 10;


Dann wäre y == 4, also die zweite Ziffer von hinten. Das ließe sich auch in eine Funktion schreiben, zum Beispiel

C++:
int ziffer(int zahl, int index) {
  while(index--) zahl /= 10;
  return zahl % 10;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
30.11.2005, 13:36 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Wieso verwendest du dann immer cout, wenn du C programmierst?
In C gibt man was mit printf() aus und bindet stdio.h ein !
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


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: