Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » string teilen

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 ] [ 4 ] [ 5 ]
000
09.01.2005, 16:59 Uhr
CaesarCortezz
minderer Student


hi,
ich hab ma im forum gesucht aber das mit dem strchr hat bei mir nicht so gefunzt.
meine frage ist ob es da für c++ nix besseres gibt?

hab mal son bissel rumgebastelt (soll ein interpreter werden)


C++:
string in;
    string com, tmp;
    string leer=" ";
    int i=0;
    cout << ">";
    cin >> in;
    do
    {
        com=com+in[i];
        cout << com << endl;
        if (in[i]==leer)                           // geht nicht (casten hab ich keine ahnung)
        {
            break;
        }
        i++;
    }while(i<=10);
    
    cout << com << endl;



damit wäre dann der erste teil in com drin.
Bitte helft mir...
MfG Caesar
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
09.01.2005, 17:00 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


std::string hat sowas wie substr...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
09.01.2005, 17:03 Uhr
CaesarCortezz
minderer Student


könnt ich dann die zwei integer durch iterator ersetzen um das lehrzeichen als trennlinie zu finden?
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
09.01.2005, 17:16 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


hmm du kannst du mit find das leerzeichen erstmal suchen und dann drum herum ausschneiden...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
09.01.2005, 17:16 Uhr
CaesarCortezz
minderer Student


ok ich krieg nicht mal ein simples bsp hin.
er sagt mir ich brauche ne Vorlagen-Argumentenliste... ?-/
könntest du das erklären oder anhand meines ziels veranschaulichen?
das wär cool.
Danke im vorraus Caesar
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
09.01.2005, 17:20 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


gibt mir mal einen string und das was genau rauskommen soll (bitte auch sonderfälle mit angeben...)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
09.01.2005, 17:22 Uhr
CaesarCortezz
minderer Student


naja du sollst nur bis zum ersten leerzeichen lesen lassen...
es ist eben sone art console. du gibst ein z.b "say hello dude" und musst den befehl say interpretieren und danach den parameter weiterverwenden
also kommt raus
1. say
2. hello dude
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
09.01.2005, 17:45 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


meinst du sowas in der art?

C++:
std::vector<std::string> seperate_words(std::string sep_string, char sep){

    std::vector<std::string> rv;
    size_t a,b;
    for(a=b=0;std::string::npos!=(b=sep_string.find(' ',b));a=++b)
        rv.push_back(sep_string.substr(a,b-a));
    if(a-b)
        rv.push_back(sep_string.substr(a,sep_string.size()));

    return rv;

}


int main(){
    
    std::string temp="say hey dude tralalala";
    std::vector<std::string> v;
    
    v=seperate_words(temp,' ');
    for(int i=0;i<v.size();++i)
        std::cout<<v[i]<<"\t";
    std::cout<<std::endl;
    
}


--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
09.01.2005, 17:55 Uhr
CaesarCortezz
minderer Student


hmm er spuckt ein paar fehler und da ich bei deinem code überhaupt net durchsehe kann ich sie nicht beheben:

Zitat:


dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_str
ing<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > const *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: 'std::reverse_iterator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<ch
ar,std::char_traits<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std::allocator<char> > *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen reduziert
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: '__unwindfunclet$?seperate_words@@YA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std
@@@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$4' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: '__unwindfunclet$?seperate_words@@YA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std
@@@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$3' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: '__unwindfunclet$?seperate_words@@YA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std
@@@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$2' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: '__unwindfunclet$?seperate_words@@YA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std
@@@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$1' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dc++\msdev98\myprojects\dsos\interpreter.h(21) : warning C4786: '__unwindfunclet$?seperate_words@@YA?AV?$vector@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$allocator@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std
@@@2@@std@@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@D@Z$0' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dc++\msdev98\myprojects\dsos\interpreter.h(34) : error C4716: 'interpret' : Muß einen Wert zurückgeben
dvc98\include\vector(39) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::vector<std::basic_string<char,std:
:char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dvc98\include\vector(52) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::vector<std::basic_string<char,std:
:char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
dvc98\include\vector(60) : warning C4786: 'std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::~vector<std::basic_string<char,std
::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
Fehler beim Ausführen von cl.exe.

dsos.exe - 1 Fehler, 10 Warnung(en)



evtl liegt es daran dass ich die fkt in einem header ausführe?
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
09.01.2005, 17:55 Uhr
CaesarCortezz
minderer Student


ohh und habe nur iostream, vector, string und iterator eingebunden vllt fehlt da noch was?
--
Thus spake the master programmer:

``When the program is being tested, it is too late to make design changes.''
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ] [ 3 ] [ 4 ] [ 5 ]     [ 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: