JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=ad68fd844a88b1e29840363f1d4fefeaMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

cin mit string?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 18:36    Titel: cin mit string? Antworten mit Zitat

Hi, hab en Problem un zwar(geht um Konsolen-Anwendung):

Wenn ich mit cin in ein string schreibe, wird ab einem Leerzeichen nicht mehr weiter geschrieben, d.h. ich will en ganzen Text in nem String speichern. Da die normalen char-Arrays aber eh zu klein sind(nur 256 Zeichen) hab ichs mit der std versucht... leider sind die Strings da immer Konstant. Habt ihr ne Idee??

Der Hintergrund: En Freund hat mich gefragt, ob ich ihm eine Konsolen-Anwendung schreiben kann, die alle Vokale in einem von ihm eingegebenen Text in andere Vokale umwandelt(z.B. jedes 'a' wird zu 'u').
Jetzt muss ich den eingegebenen Text auf jeden Vokal untersuchen und ihn in einen anderen Umwandeln...

Habt ihr ne Idee, wie ichs machen könnte???(Hab leider net viel Zeit dazu)

Thx und Gruß DirectXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 18:48    Titel: Antworten mit Zitat

müsste eigentlich tuen (aber im Moment nicht):
http://83.246.114.104/patrick/schnippel.php?id=3

@Patrick:
ist deine Website irgendwie am Arsch?

Bei dem anderen Problem kann ich dir nicht weiterhelfen.

edit: Außerdem sind die Strings nicht konstant und char-Arrays sind nicht auf 256 Zeichen beschränkt.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 18:53    Titel: Antworten mit Zitat

thx, die Site geht...

PeaceKiller hat Folgendes geschrieben:

Bei dem anderen Problem kann ich dir nicht weiterhelfen.


Bei welchem denn?

PS: Stimmt, aber
Code:

Vokalumwandlung.cpp
C:\Entwicklung\Vokalumwandlung\Vokalumwandlung.cpp(14) : error C2679: Binaerer Operator '>>' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'const char *' akzeptiert (oder keine geeignete Konvertierung moeglich)
Fehler beim Ausführen von cl.exe.


so sind sie schon const, denn ich hab
CPP:
 cin >> Eingabe.c_str();
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 18:55    Titel: Antworten mit Zitat

Hi,

zu 1.
Die Sache mit den std::basic_strings und std::cin ist immer so ein Drama, mir fällt dazu grad nicht die lösung ein, aber wenn ich weißs poste ich!

Zum Thema Leerzeichen:
CPP:
    // Ließt eine Zeile der Länge 256 in einen Buffer (typ char) der größe 256 ein
::std::cin.getLine (buffer, 256);


zu 2.:
CPP:
    // Ersetzt einen String durch einen anderen String von einem String (lolig :D)
inline const ::std::basic_string<char> replace (const ::std::basic_string<char> &source,
                                  const ::std::basic_string<char> &word_to_replace,
                                  const ::std::basic_string<char> &replacement)
{
        // Temporären String erstellen und eine hilfsvariable für die Position.
    ::std::basic_string<char>    result (source);
    ::std::basic_string<char>::size_type position = 0;

        // Suche die Position im String wo ein 'word_to_replace' ist.
    while ((position = result.find(word_to_replace)) != ::std::basic_string<char>::npos)
    {
            // Es gibt also ein 'word_to_replace'! Also ersetzen durch 'replacement'
        result.replace(position, word_to_replace.length(), replacement);
    }

        // Und zurück damit!
    return (result);
}

_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 18:57    Titel: Antworten mit Zitat

PeaceKiller
Jo die ist momentan im Arsch? Weiß der Geier worans liegt, naja jetzt hab ich ja ab Freitag 2 Wochen Urlaub da werde ich die Site mal neu überarbeiten! Hab den enthaltenen Code mal gepostet Smile
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:15    Titel: Antworten mit Zitat

very thx patrick Exclamation , aber das mit dem Umwandeln hatte ich auch schon gelöst... Rolling Eyes

meine Idee war ähnlich wie deine, ich werd beide noch ma überarbeiten...

ansonsten werd ich ma auf deiner Site gucken(die geht nämlich wieder; bei mir war die irgendwie gar net am Arsch Laughing )

Gruß DirectXer
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PeaceKiller
JLI Master


Alter: 35
Anmeldedatum: 28.11.2002
Beiträge: 970

Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:26    Titel: Antworten mit Zitat

Ich bleibe irgendwie immer auf der Auswahlseite wenn ich auf die Links klicke.
_________________
»If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.«
– Robert X. Cringely, InfoWorld magazine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:27    Titel: Antworten mit Zitat

PeaceKiller hat Folgendes geschrieben:
Ich bleibe irgendwie immer auf der Auswahlseite wenn ich auf die Links klicke.


me 2, naja in den Ferien kommt ne neue Page on mit mehr Schnippels und Tutorials Smile Dazu ne etwas überarbeiterte Technik Very Happy
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:28    Titel: Antworten mit Zitat

komisch... ich hab draufgeklickt und kam zum Text; gerade hab ichs nochma gemacht und ich bleib auf der Auswahlseite.. thinking

*confused bin*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:34    Titel: Antworten mit Zitat

ähme... bin noch mehr confused... ich hab

CPP:
::std::cin.getLine (buffer, 256);


eingegeben und dann:

Code:
Kompilierung läuft...
Vokalumwandlung.cpp
C:\Entwicklung\Vokalumwandlung\Vokalumwandlung.cpp(14) : error C2039: 'cin' : Ist kein Element von 'std'
C:\Entwicklung\Vokalumwandlung\Vokalumwandlung.cpp(14) : error C2039: 'getLine' : Ist kein Element von 'istream_withassign'
        c:\programme\microsoft visual studio\vc98\include\istream.h(164) : Siehe Deklaration von 'istream_withassign'
Fehler beim Ausführen von cl.exe.

Vokalumwandlung.exe - 2 Fehler, 0 Warnung(en)


welches cin meintest du? ich meinte CharacterInput von <iostream>
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 15.03.2005, 19:35    Titel: Antworten mit Zitat

hast du

CPP:
using namespace std;


irgendwo?
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:36    Titel: Antworten mit Zitat

bitte ohne *.h die iostream und string includieren. *.h ist was für old opas Very Happy
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:37    Titel: Antworten mit Zitat

nee, ich mach immer mit std::
bin nämlich kein Fan von Namespaces...

Code:
Kompilierung läuft...
Vokalumwandlung.cpp
C:\Entwicklung\Vokalumwandlung\Vokalumwandlung.cpp(16) : error C2039: 'getLine' : Ist kein Element von 'basic_istream<char,struct std::char_traits<char> >'
Fehler beim Ausführen von cl.exe.


so siehts jetzt aus...

edit: mach immer ohne .h(außer gerade, da ich en Bsp. ausm Buch als Grundlage genommen hab)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 15.03.2005, 19:49    Titel: Antworten mit Zitat

hehe, is schon ok, das mit dem getline... Wink
heißt nämlich getline, net getLine
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DirectXer
Dark JLI'ler



Anmeldedatum: 05.02.2005
Beiträge: 1201
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 17.03.2005, 18:40    Titel: Antworten mit Zitat

Hi, kennt einer von euch eigentlich irgendne Funktion, mit der man auf Enter wartet(Konsolen-Anwendung)??? Wenn ich my Programm nämlich von der .exe ausführe, wird der letzte cout gar net angezeigt... Is eigentlich egal, da ich den in ne txt schreibe, interessiert mich aber trotzdem(hab schon MSDN gelookt, aba bin zu faul um mir alles durchzureaden Twisted Evil
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum