Anfänger braucht Hilfe bei String-manipulation in C++
-
Überzeugter verfechter

Habe mal gehört das man damit keine auführbaren .exe erstellen kann...
kann aber auch gut sein das ich da was mit VBA .NET vertausche...
Was meinst du mit:
"Und selbst wenn einige Dinge nicht optimal sind, ..."
Ich meine wenn ihr mir VC++ Express empfehlen könnt, werde ich es mir anschaffen,
aber ich wüsste halt schon gerne was da für Einschränkungen sind...
-
Solange du das als Hobby machst, hast du keine Einschränkungen mit der Express Version. Weil dort nämlich lediglich Team Sachen fehlen. (OK, ein paar Editoren fehlen auch, MFC auch, aber das ist nicht die Welt..).
-
Jin86 schrieb:
Überzeugter verfechter

Eher Beseitiger von irgendwelchen Gerüchten...
Jin86 schrieb:
Habe mal gehört das man damit keine auführbaren .exe erstellen kann...
Sicher. Was soll eine IDE bringen, mit der man keine Programme schreiben soll?

Jin86 schrieb:
Was meinst du mit:
"Und selbst wenn einige Dinge nicht optimal sind, ..."
Ich meine wenn ihr mir VC++ Express empfehlen könnt, werde ich es mir anschaffen,
aber ich wüsste halt schon gerne was da für Einschränkungen sind...Für einen Hobbyprogrammierer reicht es auf jeden Fall. Sogar professionell kommt man mit der Express-Version relativ weit.
-
Nexus schrieb:
Jin86 schrieb:
Habe mal gehört das man damit keine auführbaren .exe erstellen kann...
Sicher. Was soll eine IDE bringen, mit der man keine Programme schreiben soll?

Das Ding bedienen, dass die die Programme schlussendlich macht.

-
Was ist MFC????
Ihr müsst mich wirklich entschuldigen...
Ich habe mir ein 1,5k Seiten Buch und eine Video2Brain DVD geholt.
Und trotzdem stehe ich da wie ein nasser Hund im Regen...
Ich glaube um alles richtig zu lernen, muss man ein Informatikstudium absolvieren...
-
Nichts, was für dich relevant wäre, wenn du Standard-C++-Programme schreiben willst. Im Weiteren kannst du endlich mal Google oder Wikipedia bemühen...

-
Alles klar... Microsoft Foundation Classes
Schein ne interessante Sache zu sein...
Habt ihr die volle Edition oder Express???
Und aus reinem Interesse:
Wie lange programmiert ihr eigentlich schon und was könnt ihr als Literatur empfehlen??
-
Ich habe Express.
Literatur kommt hier immer mal wieder ein Vorschlag. Für den Anfang reicht ein normales Einsteiterbuch, wie Thinking in C++ 1/2 oder der Primer.
Dann kommen so die Standardwerke von Stroustrup (The C++ Programming language), Meyers (effektiv C++ u.a), Sutter (exceptional C++ u.a), Alexandrescu (modern C++ Design) und noch ein paar andere. Aber das sollte fürs erste mal reichen.
Die letzt genannten gehen schon recht in die Sprache ein und sind nicht für Anfänger geeignet.
-
Jin86 schrieb:
Habt ihr die volle Edition oder Express???
Ich hab die Express Version und komme damit gut zurecht.
Jin86 schrieb:
Und aus reinem Interesse:
Wie lange programmiert ihr eigentlich schon und was könnt ihr als Literatur empfehlen??Jetzt etwa 3 Jahre, aber anfangs relativ selten. Seit letztem Frühling hab ich am meisten gelernt...
Literatur wird oft der C++-Primer oder Thinking in C++ 1&2 (das es auch gratis als Online-PDF gibt) empfohlen.
Edit: Meine Güte, drakon, so langsam reicht es!

-
Meine neue ToDo-Liste:
-MSVC++ Express downloaden,
-Thinking in C++ 1&2
-C++-PrimerKönnt ihr auch was für GUI programmierung empfehlen?
Jetzt ohne gleich VC++ kaufen zu müssen...
Habe da in meinem Buch was über Qt bzw. wxWidgets stehen...
Benuzt ihr eigentlich UML oder lässt ihr es einfach fließen??
-
GUI? - Im ernst? - Nimm C# und das .NET Framework.

Ansonsten bist du in C++ mit QT eigentlich nicht schlecht dran. Aber WxWidgets sind auch nicht schlecht..
-
Für GUI gibts ein eigenes Unterforum, dort wurden die einzelnen Frameworks auch oft gegenübergestellt. WxWidgets ist aber nicht gerade modernes C++. Ich weiss nicht, ob es gut ist, damit anzufangen. Überhaupt mit GUI.
Wenn man C++ lernen will, sollte man das am Anfang mit Konsolenprogrammen machen. Das ist vielleicht nicht immer so lustig, dafür lernt man die Sprache richtig.
-
Zur Zeit lerne ich ja auch nur mit Konsolenprogrammen.
Ich habe mir aber auch kleine Etapen-Ziele gesezt.
Die Permutation gehört übrigens dazu
Im Endefekt will ich in ca. 1-2 Jahren GUI's mit externen Mikroprozessoren verbinden und Daten auswerten...
µC für ATmega usw. behersche ich schon recht gut...
Hab mich auch eine Zeitlang mit BASCOM auseinander gesetzt...
-
Das klingt realistisch und wenn du dran bleibst klappt das sicher.
-
Hallo mal wider

Bin das mit den VB-Funktionen nochmal durchgegangen und das ist dabei rausgekommen:string vbmid(string quelle,int index,int laenge){ string ergebnis = quelle.substr(index,laenge); return ergebnis;} string vbleft(string quelle,int laenge){ string ergebnis = quelle.substr(0,laenge); return ergebnis;} string vbright(string quelle,int laenge){ string ergebnis = quelle.substr(quelle.length()-laenge,laenge); return ergebnis;}Habe es in meiner Permutation noch nicht getestet...
Freue mich aber schon auf euer Feedback
EDIT: Habe es mit meiner Permutation getestet...
Funktioniert trotzdem nicht...
-
Hat zwar nichts direkt mit deinem Problem zu tun, aber so eine Funktion
string vbmid(string quelle,int index,int laenge){ string ergebnis = quelle.substr(index,laenge); return ergebnis;}solltest du besser so schreiben:
string vbmid(const string& quelle, int index, int laenge) { return quelle.substr(index,laenge); }Ich meine jetzt nicht die Einrückung und schlechte Lesbarkeit, sondern 1. die Übergabe als Const-Referenz und 2. die direkte Rückgabe, wodurch Optimierungen wie RVO (Return Value Optimization) besser möglich sind.
-
Danke Nexus.
Hab anfangs gedacht das dadurch mein "Orginal"-String verändert wird...
Aber du hast recht. Ich spare mir dadurch das hin und her kopieren im Speicher und mein Quellstring wird nicht verändert.
Auf so Sachen muss man erstmal kommen...
Habe übrigens einen Bug im in meinem Code gefunden.
Muss aber erst noch prüfen ob das so stimmt bevor ich hier irgendetwas poste...
-
Jin86 schrieb:
Hab anfangs gedacht das dadurch mein "Orginal"-String verändert wird...
Dazu müsstest du eine Non-Const-Referenz oder einen Zeiger übergeben, dann kannst du direkt Manipulationen am übergebenen Objekt vornehmen.
-
Also ich frage mich, warum du für so etwas triviales und kurzes eine Funktion schreibst?! - Das wäre hier ohne die Funktion sogar einfacher zu benutzen..
-
drakon schrieb:
Also ich frage mich, warum du für so etwas triviales und kurzes eine Funktion schreibst?! - Das wäre hier ohne die Funktion sogar einfacher zu benutzen..
Vor allem die zweite und dritte Funktion haben schon ihre Berechtigung, wenn sie oft benötigt werden. Und damits einheitlich ist, auch die erste. :p
Kritisier lieber die Leute, die zu wenig Funktionen machen.
