zahlen aus char in int variable schreiben

So gehts:
Code:
#include <iostream>

using namespace std;

int main(){
                char floatingpoint[] = "1234z23";
                int a = atoi(strtok(floatingpoint, ".,abcdefghijklmnopqrstuvwxyz"));
                int b = atoi(strtok(NULL, ".,abcdefghijklmnopqrstuvwxyz"));
                cout << "Vor dem Komma: " << a << " Nach dem Komma: " << b << endl;
}

http://www.cplusplus.com/ref/cstring/strtok.html

//edit
oder:
zu getch() kann ich nicht viel sagen aber darüber gibts schon ne Menge im
Forum einfach mal die Suche benutzen.

Gruß

RedWing
 
Zuletzt bearbeitet:
Ich hab auch noch eine Lösung anzubieten:

Code:
#include <iostream>

using namespace std;

int main()
{
	char szFloat[] = "1234:23";
	int a, b;

	for (int i = 0; i < strlen(szFloat); ++i) {
		if (szFloat[i] < '0' || szFloat[i] > '9') {
			szFloat[i] = '\0';
			a = atoi(szFloat);
			b = atoi(szFloat + i + 1);
			cout << "Vor dem Komma: " << a << " Nach dem Komma: " << b << endl;
			break;
		}
	}
}
 
Dann geb ich noch ne c Loesung :)

Code:
#include <stdio.h>

int main(void) {
    char c;
    int a=0,b=0;

    /* Erste Integer-Zahl einlesen */
    while((c=getchar())!=EOF && c>='0' && c<='9')
	a=10*a+c-'0';

    /* Fehler, falls keine zweite Integer-Zahl */
    if (c==EOF)
	return -1;

    /*Zweite Integer-Zahl einlesen */
    while((c=getchar())!=EOF && c>='0' && c<='9')
	b=10*b+c-'0';

    printf("Zahl1: %i\nZahl2: %i\n",a,b);

    return 0;
}

Du muesstes das ganze natuerlich noch um Ausnahmebehandlungen etc. erweitern.
 
Ihr seid ja wahnsinnig... ich glaube ich habe noch nie soviele Codebeispiele zu einer Frage gesehen wie hier ;)

Aber sollte das Problem nachher immer noch nicht gelößt sein, spendiere ich auch noch ne Lösung *ggg*
 
Zurück