• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

char[] -> integer (c++)?

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
wenn ich mit fgets stdin auslese, dann landet das alles in einem char array:

char str[100];
...
fgets(str, 100, stdin);

ich brauche aber ein integer!
wie mache ich denn daraus am einfachsten ein integer?
 

kybdf2

Rheinischer Winterrambour
Registriert
10.02.06
Beiträge
923
Unter Java könnte man das so lösen:

int[] i = new int[100];
for(int x =0; x < 100; x++)
i[x] = Character.valueOf(str[x]);


Vielleich ist das irgendwie auf c++ übertragbar
 

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
das allereinfachste ist

int bla;
cin >> bla;

zu nehmen , aber danke fuer deine hilfe. ;)
 

Walli

Blutapfel
Registriert
06.01.06
Beiträge
2.605
fgets und co. sind auch nicht unbedingt schick wenn man in c++ programmiert ;) .
 

stoebe

Uelzener Rambour
Registriert
23.12.05
Beiträge
371
kybdf2 schrieb:
Unter Java könnte man das so lösen:

int[] i = new int[100];
for(int x =0; x < 100; x++)
i[x] = Character.valueOf(str[x]);


Vielleich ist das irgendwie auf c++ übertragbar
Jep, in etwa so:

Code:
int i[100];
char j[100];
...
for(int n=0; n<=99; n++) i[n] = j[n];

Normalerweise müsste das so zu lösen sein, wenn ich das Problem richtig interpretiere..
 

Walli

Blutapfel
Registriert
06.01.06
Beiträge
2.605
Nene, das ist nicht die Lösung. Wenn man es von Hand machen würde sähe es ungefähr so aus (Pseudocode)
Code:
int zahl = 0;
char const* str = "4711";
for(int len = std::strlen(str), i = len - 1; i != -1; --i)
  zahl = zahl * 10 + str[i] - '0';

Aber wieso selber machen, wenn einem die Streams die Arbeit schon abnehmen?
 

patz

Châtaigne du Léman
Registriert
15.11.05
Beiträge
819
Code:
char str[100];
fgets(str, 100, stdin);

int eingabe;
sscanf(str, "%d", &eingabe);

Dann haste in "eingabe" deine Eingabe als Integer (schön ist die Lösung aber nicht ;)).
 

blutaermer

Ingrid Marie
Registriert
31.12.03
Beiträge
273
Walli schrieb:
fgets und co. sind auch nicht unbedingt schick wenn man in c++ programmiert ;) .

da dachte ich mir schon. das problem bei den 1000 onlinetutorials ist die mangelnde trennung zwischen C und C++. und dann greift man schonmal daneben.

danke fuer die zahlreiche hilfe ...
 

Walli

Blutapfel
Registriert
06.01.06
Beiträge
2.605
blutaermer schrieb:
da dachte ich mir schon. das problem bei den 1000 onlinetutorials ist die mangelnde trennung zwischen C und C++. und dann greift man schonmal daneben.
Gute Informationen zu C++ findet man über www.c-plusplus.de. Bestimmte Tutorials kann ich leider nicht empfehlen, da ich mir C++ aus Büchern beigebracht habe. Als Referenz und Nachschlagewerk wäre wohl "Die C++ Programmiersprache" von Stroustrup zu nennen, was aber zum erlernen und durcharbeiten wohl ein bisschen zu trocken sein dürfte.
 
Zuletzt bearbeitet: