Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » string in integer umwandeln

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 ] [ 2 ] > 3 <
020
13.01.2004, 21:07 Uhr
Pablo
Supertux
(Operator)


Dann doch parsen. Guck mal hier:
www.fun-soft.de/showtopic.php?threadid=4669
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.01.2004 um 21:09 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
021
13.01.2004, 21:07 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


naja also doch strtok
z.b. so

C++:
#include <string.h>
#include <stdio.h>

char string[] = "35 +4 *36 +7";
char seps[]   = "+-*/";
char *token;

int main(){

   printf( "%s\n\nTokens: \n", string );
   /* Establish string and get the first token: */
   token = strtok( string, seps );
   while( token != NULL )
   {
      /* While there are tokens in "string" */
      printf( "%s\n", token );
      /* Get next token: */
      token = strtok( NULL, seps );
   }
}




--
...fleißig wie zwei Weißbrote

Dieser Post wurde am 13.01.2004 um 21:11 Uhr von Windalf editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
022
13.01.2004, 21:14 Uhr
~ben
Gast


ja genau pablo genau das sollte mein programm auch können..leider fehlts mir noch ein bischen an wissen um das zu verstehen..wie krieg ihc das bis morgen bloß in meine birne rein
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
023
13.01.2004, 21:31 Uhr
(un)wissender
Niveauwart


Was du eigentlich wolltest, war nicht so einfach aus dir heraus zubekommen.
strtok() ist das was du willst.
Bis morgen geht doch noch, die Nacht ist ja lang...
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
024
13.01.2004, 21:32 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender

Zitat:

strtok() ist das was du willst


man hab ich eine Menschenkenntnis...Ob ich auf Psychologe umsatteln sollte?
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
025
13.01.2004, 21:35 Uhr
Pablo
Supertux
(Operator)



Zitat:
~ben postete
ja genau pablo genau das sollte mein programm auch können..leider fehlts mir noch ein bischen an wissen um das zu verstehen..wie krieg ihc das bis morgen bloß in meine birne rein


Dir musst zuerst klar sein, was parsing bedeutet. Parsing ist das Erkennen von Zeichen in einer Zeichenkette. Aber es gibt nicht beliebige Zeichen. Eine Grammatik bestimmt, welche Tokens es geben muss und welche Regel es geben muss. Zum Beispiel: +*-/ sind Token, die sind Zeichen, die man nicht mehr durch andere ersetzen kannst. Aber EXPRESSION kannst du zum Beispiel durch NUMBERS tokens NUMBERS token EXPRESSIONS ersetzen, wobei NUMBERS=1,2,3,4,5,6,7,8,9, token=+-*/

EXPRESSION -> NUMBERS tokens NUMBERS token EXPRESSIONS

5+3*7 ist expression, da 5, 3 und 7 zu den NUMEBRS gehören. +* zu den Tokens und die Komosition von NUMBERS tokens NUMBERS macht eine EXPRESSION, usw.

Wenn dir das klar ist, kannst du dir eine einfache Grammatik basteln, die alles tut, was du wllst. Die Grammatik zu diesem Taschenrechner ist:


Zitat:

program:
END // END ist Eingabeende
expr_list END

expr_list:
expression PRINT // PRINT ist Semikolon
expression PRINT expr_list

expression:
expression + term
expression - term
term

term:
term / primary
term * primary
primary

primary:
NUMBER
NAME
NAME = expression
- primary
( expression )



--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 13.01.2004 um 21:36 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
026
13.01.2004, 21:36 Uhr
(un)wissender
Niveauwart


Ach was, @Windalf, Psychologen wären da nie drauf gekommen, du bist besser.
Die hätten sich erstmal darüber ausgelassen, ob du denn mit dem Leistungsdruck klarkommst und ob C nicht eine schlechte Kindheit hatte.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
027
13.01.2004, 21:38 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@(un)wissender
Hmm, ich finde im hohle Scheisse quatschen bin ich auch erste Klasse und wenn man damit noch gutes Geld verdienen kann...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
028
13.01.2004, 21:39 Uhr
~ben
Gast


oh. sorry wenn ich mich nen bischen verwirrend ausgedrückt hab
gut denn werd ich nu ma probieren mich mit der strtok() vertraut zu machen.thx
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] > 3 <     [ 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: