Navigation

    cpp-logo

    C++ Community

    • Registrieren
    • Anmelden
    • Suche
    • Kategorien
    • Aktuell
    • Tags
    • Beliebt
    • Gruppen
    1. Übersicht
    2. Beliebt
    Melde dich an, um einen Beitrag zu erstellen
    • Alle Kategorien
    • Ankündigungen
    •      Die Artikel
    • C++ (alle ISO-Standards)
    •      MFC
    •      VCL (C++ Builder)
    •      C++/CLI mit .NET
    •      Andere GUIs - Qt, GTK+, wxWidgets
    • Sonstige Programmiersprachen
    •      C (alle ISO-Standards)
    •      C# und .NET
    •      Java
    •      Assembler
    •      Webzeugs
    • Betriebssysteme
    •      WinAPI
    •      Linux/Unix
    •      Projekt: OS-Development
    •      DOS und Win32-Konsole (nur Lesen)
    • Weitere Fachbereiche
    •      Mathematik und Physik
    •      Spiele-/Grafikprogrammierung
    •      Datenbanken
    •      Compiler- und IDE-Forum
    •      Projekte
    • Jenseits der Programmierung
    •      Beruf und Ausbildung
    •      Stellenangebote
    •      Themen rund um die IT
    •      Gaming-Corner
    • Forentechnik
    • Archiv
    •      Das C++ Magazin
    •          Die Redaktion
    •          Die Autoren
    •          Allgemeines zum Magazin
    •          Archiv
    •      Organisation des Forumtreffens
    •      FAQs - Frequently Asked Questions
    •          FAQ - C (C89, C99 und C11)
    •          FAQ - Assembler
    •          FAQ - C++ (auch C++0x, C++11)
    •          FAQ - C++/CLI
    •          FAQ - C++ Builder (VCL/CLX)
    •          FAQ - C# und .NET
    •          FAQ - Compiler & IDEs
    •          FAQ - Datenbanken
    •          FAQ - DOS und Win32-Konsole
    •          FAQ - Grafik-/Spieleprogrammierung
    •          FAQ - GUIs
    •          FAQ - Java
    •          FAQ - Linux/Unix
    •          FAQ - Mathematik und Physik
    •          FAQ - MFC
    •          FAQ - Rund um die Programmierung
    •          FAQ - Sonstiges
    •          FAQ - Webzeugs
    •          FAQ - WinAPI
    •          FAQ - Forentechnik
    • Alle Themen
    • Neue Themen
    • Beobachtete Themen
    • Unbeantwortete Themen
    • Gesamter Zeitraum
    • Tag
    • Woche
    • Monat

    • B

      Substrings innerhalb eines Strings sortieren
      C++ (alle ISO-Standards) • • Bibigon  

      12
      0
      Stimmen
      12
      Beiträge
      191
      Aufrufe

      B

      @SeppJ Habe deinem Tipp gefolgt: #include <iostream> #include <fstream> #include <sstream> #include <vector> #include <map> #include <string> #include <algorithm> // Liste der bekannten Substrings const std::map<int, std::vector<std::string>> mTeilstrings = { {1, {"[8A]", "[UKE]"}}, {2, {"[Dings da]", "[DingsBums]"}}, {3, {"[GF]", "[MOD]", "[MOD3]", "[MOD6]"}}, {4, {"[Weiss]", "[Rot]", "[Orange-Blau]"}} }; int main() { std::ifstream ifsDatei("Zu_Sortieren.txt"); std::string strZeile, strTeilstring; bool Gefunden=true; // für Fehler "unbekannter Substring" bool GruppenDuplikat; // für "Gruppenduplikat"-Fehler if (ifsDatei.is_open()) { // Datei öffnen while (std::getline(ifsDatei, strZeile)) { // Datei zeilenweiser einlesen std::stringstream strstrmZeile(strZeile); // Stringstream zum Aufteilen std::map<int, std::string> mSortierteString; // Container für sortierten String GruppenDuplikat = false; std::cout << strZeile << " -> "; while(std::getline(strstrmZeile, strTeilstring, ']') && (Gefunden || !GruppenDuplikat)) { // Aufteilung in Substrings strTeilstring += ']'; Gefunden = false; for (auto const& [keyPosition, vTeilstrings] : mTeilstrings) { // Suche nach dem Substring in der Liste auto it = std::find(vTeilstrings.begin(), vTeilstrings.end(), strTeilstring); // Suche nach dem Substring in der Gruppe if (it != vTeilstrings.end()) { Gefunden = true; if (!mSortierteString.count(keyPosition)) { // falls kein Substring aus der gleichen Gruppe bereits im Container mSortierteString.insert({keyPosition, strTeilstring}); // füge dem Container zu } else { GruppenDuplikat=true; std::cout << "Fehler: Gruppenmitglied bereits vorhanden! " << strTeilstring << " & " << mSortierteString[keyPosition] << std::endl; break; } } } if ( !Gefunden ) { // falls ein unbekannter Substring std::cout << "Fehler: unbekannter Substring " << strTeilstring << "!"; } } if (Gefunden && ! GruppenDuplikat ) // Ausgabe fehlerfreien sortierten String for (const auto& [schluessel, wert] : mSortierteString) { std::cout << wert; } std::cout << std::endl; } ifsDatei.close(); // Datei schließen } else { std::cerr << "Datei konnte nicht geöffnet werden." << std::endl; return 1; } return 0; } Zu_Sortieren.txt [8A][Dings da][Orange-Blau] [MOD][Weiss][UKE] [GF][MOD3][Dings da] [MOD][Black][UKE] [GF][MOD3][Dings da][GF][MOD3][Dings da] Funktioniert noch nicht zufriedenstellend. Was ich zum Verrecken nicht hinkriege, ist die Umschreibung der for-Schleife: for (auto const& [keyPosition, vTeilstrings] : mTeilstrings) { // Suche nach dem Substring in der Liste in eine while-Schleife, damit ich die Schleife nach dem ersten Fehler unterbrechen kann. while(Iterator!=mTeilstring.end() && (Gefunden || !GruppenDuplikat)) { ... } Ich verstehe es einfach nicht (auch Googlen hiflt nicht ), wie kriege ich den keyPosition-Wert heraus. Die etwas holprige Ausgabe sieht zur Zeit folgendermassen aus: [8A][Dings da][Orange-Blau] -> [8A][Dings da][Orange-Blau] [MOD][Weiss][UKE] -> [UKE][MOD][Weiss] [GF][MOD3][Dings da] -> Fehler: Gruppenmitglied bereits vorhanden! [MOD3] & [GF] [MOD][Black][UKE] -> Fehler: unbekannter Substring [Black] [UKE][MOD] [GF][MOD3][Dings da][GF][MOD3][Dings da] -> Fehler: Gruppenmitglied bereits vorhanden! [MOD3] & [GF] Fehler: Gruppenmitglied bereits vorhanden! [GF] & [GF] Fehler: Gruppenmitglied bereits vorhanden! [MOD3] & [GF] Fehler: Gruppenmitglied bereits vorhanden! [Dings da] & [Dings da] Vielen Dank im Voraus!
    • B

      Neues von MFC ?
      MFC • • biter  

      5
      0
      Stimmen
      5
      Beiträge
      161
      Aufrufe

      B

      Danke Dir Erhard !
    • Informatiker/technischer Informatiker Softwareentwicklung C und C++ (w/m/d) | HYDAC Group
      Stellenangebote • • JAP  

      1
      0
      Stimmen
      1
      Beiträge
      80
      Aufrufe

      Bewerben Sie sich bis zum 13.05.2026. Jetzt bewerben! Zur Stellenanzeige auf Mein IT Job Ihre Bewerbung richten Sie bitte ausschließlich an die ausgeschriebene Firma. Karriere@HYDAC Informatiker/technischer Informatiker Softwareentwicklung C und C++ (w/m/d) HYDAC Group Großbeeren Bewerben • Vollzeit • Kennziffer: SW9120 Diese Herausforderungen warten auf Sie • Sie entwickeln Embedded-Middleware in C und C++ für mobile Arbeitsmaschinen (wie etwa Bagger und Mähdrescher), unter Berücksichtigung der Anforderungen der Funktionalen Sicherheit. • Besonders fokussieren Sie sich dabei auf die Portierung und Erweiterung der Middleware auf moderne Multi-Core-Systeme. • Darüber hinaus gehört Erstellung der Software-Spezifikation, der Pflichtenhefte und die Dokumentation zu Ihrem Aufgabenfeld. • Last but not least zählen auch die entwicklungsbegleitende Testung und Begleitung der Inbetriebnahme zu Ihrem neuen Job. Wie Sie uns begeistern • Sie haben ein erfolgreich abgeschlossenes Hochschulstudium (M.Sc./M.Eng./Diplom) der Technischen Informatik, Informatik, Elektrotechnik, Mechatronik oder Bau-/Landmaschinentechnik o.ä. • Sie kennen sich aus mit Microcontrollern, die in Embedded-Echtzeitsystemen verwendet werden. • Sie haben sehr gute Kenntnisse und Erfahrung in der Embedded-Programmierung in C und C++. • Idealerweise haben Sie bereits Erfahrung mit der Entwicklung sicherheitsgerichteter Software und Kenntnis von Standards der Funktionalen Sicherheit (z.B.: ISO61508, ISO26262, ISO25119) • Sie haben Spaß an komplexen Softwareprojekten und sind ein kreativer Kopf • Und natürlich können Sie sich sowohl auf Deutsch als auch Englisch gut verständigen. Ihre Vorteile bei HYDAC: • Attraktive Vergütung plus starke Zusatzleistungen • Flexibel arbeiten: Beruf, Familie und Freizeit im Einklang • Betriebliche Altersvorsorge & Gesundheitsangebote • Wertschätzung & Mitgestaltung im Familienunternehmen • Zugang zu Sonderkonditionen & Rabatten • Vergünstigtes Deutschlandticket durch Arbeitgeberzuschuss Ansprechpartner Andreas Jäger +49 6897 509-9562 Wer wir sind Start-up mit Großfamilie und Hauptstadtfeeling Die HYDAC SOFTWARE GmbH gehört zur HYDAC-Gruppe, einem 1963 gegründeten Familienunternehmen mit heute rund 10.000 Mitarbeitenden weltweit. Innerhalb der HYDAC-Familie agiert die HYDAC SOFTWARE GmbH als dynamisches und schnell wachsendes Start-up. Gestartet 2010 mit zwei Personen, arbeiten heute mit ca. 100 Kolleginnen und Kollegen an innovativen Lösungen für die mobile Welt von morgen. #BePartOfTheFamily Wir entwickeln uns kontinuierlich weiter, wachsen als Unternehmen und Arbeitgeber sowohl national als auch international. Gleichzeitig sind die menschliche Nähe und die Atmosphäre eines Familienunternehmens fest in unseren Wurzeln verankert und bilden stets die Grundpfeiler der HYDAC Unternehmenskultur. HYDAC @ Kununu Sie möchten mehr über uns als Arbeitgeber erfahren? Auf Kununu finden Siezahlreiche Bewertungen von Mitarbeitenden und Bewerbern, die ihre Erfahrungen mit HYDAC teilen. Dabei gehören wir zu den rund 5% der beliebtesten Unternehmen und wurden als Top Company 2025 ausgezeichnet. Wir freuen uns auf Ihre Bewerbung! Bitte übermitteln Sie uns Ihre möglichst vollständigen Unterlagen unter Angabe Ihres nächstmöglichen Eintrittstermins sowie Ihrer Gehaltsvorstellung, idealerweise in einer PDF-Datei. Bewerben HYDAC Group karriere.hydac.com
    • Embedded Software-Entwickler (m/w/d) | Schröder Forschung und Entwicklung GmbH
      Stellenangebote • • JAP  

      1
      0
      Stimmen
      1
      Beiträge
      26
      Aufrufe

      Bewerben Sie sich bis zum 22.05.2026. Jetzt bewerben! Zur Stellenanzeige auf Mein IT Job Ihre Bewerbung richten Sie bitte ausschließlich an die ausgeschriebene Firma. Die Firma Schröder Forschung und Entwicklung ist ein Unternehmen für Elektronikentwicklung. Unsere Lösungen für Hard- und Softwareentwicklung verwenden Firmen weltweit. Unsere Kunden kommen aus den Bereichen Automotive, Medizintechnik, Verteidigung und Industrie. Elektronikentwicklung ist unser Traum, den wir zum Beruf gemacht haben. Embedded Software-Entwickler (m/w/d) Start: Ab sofort Deine Aufgaben • Programmierung von Embedded-Software mit C für Mikrocontroller, z.B. von Microchip, Renesas, ST Microelectronics, NXP • Programmierung in C++, C# oder Python • Integration von KI-Modellen in Embedded-Systeme (z.B. Vision, Sensorfusion, Anomalieerkennung) • Ansteuerung von Bus-Systemen wie Ethernet, SPI, I2C, CAN, LIN etc. • FPGA-Programmierung in VHDL • Entwicklung von kapazitiven Touch-Applikationen • Durchführung von Elektroniktests und Testaufbauten • Organisations- und Dokumentationsaufgaben in Excel, Word und PPT • Abwechslungsreiche Aufgaben Was Du mitbringst • Du hast einen Bachelor oder Master im Bereich Informatik/ Informationstechnik/Elektrotechnik/Mechatronik oder ähnlichem • Min 3. Jahre Erfahrung in den Sprachen C, C++, C# oder Python • Min 3 Jahre Erfahrung in Embedded Linux (Yocto) • Idealerweise hast Du Erfahrungen im Umgang mit dem ECAD-Tool Altium Designer • Sowohl Teamplay als auch eigenverantwortliche Arbeit sind für Dich eine Selbstverständlichkeit • Software und Elektronik sind auch Dein Hobby Was wir Dir bieten • Ein überdurchschnittliches Gehalt • Sehr spannende und abwechslungsreiche Projekte • Flexible Homeoffice-Möglichkeit Hört sich super für Dich an? Dann freuen wir uns auf Deine Bewerbung in einer PDF-Datei mit allen Universitäts- und Arbeitszeugnissen an Christian.Schroeder@Schroeder-Fe.de. Bitte gib Deinen Gehaltswunsch an. Dein Ansprechpartner bei uns ist Christian Schröder. HIER BEWERBEN Schröder Forschung und Entwicklung GmbH Doorner Str. 1 | 63456 Hanau www.schroeder-fe.de