Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

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

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
18.10.2005, 17:10 Uhr
~Hendrik
Gast


Hallo zusammen,

ich brauch dringend eure Hilfe. Ich möchte ein math. Funktion in einzelne Bestandteile zerlegen. Das klappt auch soweit wunderbar, wenn ich die Funktion gleich im Compiler mit rein schreibe, wenn ich die Funktion im Programm aber selber als String eingebe und diesen dann zerlegen will, kommt im Compiler die Meldung "invalid initializer"

Hier mein Code:

#include <iostream.h>
#include <stdlib.h>
#include <conio.c>
#include <string>

int main()
{

// string funktion;
int i=1;
char* a[100];

//cin >> funktion;
(funktion) // anstellen des unteren
char string [] = (" +5x^4+4x^3+2x^2+3x+7"); // hier tritt dann der Fehler "invalid
initializer" auf
char* pToken = strtok (string, "x^+-") ;

while (pToken = strtok(NULL, "x^+-"))
{
a[i] = pToken;
cout << a[i] << endl;
i= i+1;
}


system("PAUSE");
}

Mfg Hendrik
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.10.2005, 17:51 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


du darfst nicht () verwenden, sondern einfach nur ""
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.10.2005, 21:52 Uhr
~Hendrik
Gast


das geht auch! aber wenn ich den string selber erst eingeben will, und diesen string dann z.B. funktion nenne und diesen dann mit dem Befehl
char string [] = (funktion)
zerlegen will,
dann zeigt mir der compiler dies invalid initializer!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.10.2005, 22:03 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ja logisch irgendwo

benutz entweder char *string = funktion.c_str(); oder besser:


C++:
char *string = new char[funktion.len()];
memcpy(string, funktion.c_str(), funktion.len());

// ...

delete[] string;


--
class God : public ChuckNorris { };

Dieser Post wurde am 19.10.2005 um 13:05 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.10.2005, 23:35 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


warum nicht einfach die funktionen von std::string verwenden wenn man schon einen hat an statt das auf nen char-array runterzubrechen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
19.10.2005, 13:19 Uhr
~Hendrik
Gast


Erstmal danke für eure Ratschläge, aber irgendwie funktioniert das bei mir immer noch nicht,. Das mag aber auch daran liegen, dass ich nicht so geübt im programmieren bin. Wir machen in der Schule ein Software-Projekt, daher muss ich das machen. Wir haben noch nicht sehr viel programmiert.
Ich wäre euch daher sehr dankbar, wenn ihr meinen Code oben so ändert, dass das funktioniert und diesen dann hierein stellt.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
25.10.2005, 20:30 Uhr
~123
Gast


Ist denn in iostream nicht die Klasse "string" deklariert?

Vielleicht versteht dann ja der Compiler den Ausdruck "char string[]" (Sprich Datentyp "char" und Datentyp "string") nicht, benenn doch mal den Variablennamen um!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
26.10.2005, 17:35 Uhr
~Hendrik
Gast


danke für eure Ratschläge,
habe es jetzt endlich hinbekommen!
 
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: