C++ in Visual Studio mir M1; Wiedergabe Fehler



  • Hallo Leute.

    Seit kurzem habe ich angefangen mich mit dem Programmieren in c++ zufassen. Das ganze versuche ich in Visual Studio Cade auf einem MacBook mit M1 umzusetzen.

    Zur Übungen bearbeite ich Aufgaben aus dem Buch Grundkurs C.

    Der Code ist Folgender:

    #include <iostream>
    #include <vector>
    #include <string>

    using namespace std;

    #include <stdio.h>

    int main(void) {

    printf("Ich bin ein \"Blindtext\"\n");
    printf("\tNoch mehr Text\n");
    printf("Ich werde ueberschrieben\r");
    printf("Von mir, einem weiteren Blindtext\n");
    printf("Das Leerzeichen wird entfernt\n");
    return 0;
    }
    

    Nach der Ausgabe sollte die Zeile 3 von der Zeile 4 Überschrieben sein. Stattdessen wird der Text folgendermassen ausgegeben.

    Ich bin ein "Blindtext"
    Noch mehr Text
    Ich werde ueberschriebenVon mir, einem weiteren Blindtext
    Das Leerzeichen wird entfernt

    Müssen die Befehle in Visual Studio auf einer andere Weise formuliert werden?

    Vielen Dank im Voraus.

    Viele Grüße
    David


  • Mod

    Das funktioniert vielleicht unter Windows und auf alten elektronischen Schreibmaschinen. Das Buch benutzt hier systemabhängige Sonderzeichen. Wenn es das nicht klarstellt, ist das schlecht.

    Auch sehr wichtig:

    int main(void) {
    
    printf("Ich bin ein \"Blindtext\"\n");
    printf("\tNoch mehr Text\n");
    printf("Ich werde ueberschrieben\r");
    printf("Von mir, einem weiteren Blindtext\n");
    printf("Das Leerzeichen wird entfernt\n");
    return 0;
    }
    

    Dies ist dein C-Programm.

    All dies ist kein C, sondern C++, eine ganz andere Sprache:

    #include <iostream>
    #include <vector>
    #include <string>
    
    using namespace std;
    

    Das bedeutet für dich mehrere Dinge:

    1. Du nutzt einen C++-Compiler für C. Tu das nicht! Das geht nur bei so Simpelprogrammen wie hier gut, sonst nicht. Der Compiler der mit Visual Studio kommt kann (wie die meisten C++-Compiler) auch C sprechen, du musst das bloß irgendwo einstellen.
    2. Du musst das ja irgendwo her haben. Wenn aus deinem Lehrbuch, dann Lehrbuch sofort in den Müll. Wenn irgendwo im Internet gegoogelt: Obacht! C und C++ sind völlig unterschiedliche Sprachen mit ähnlichem Namen. Pass auf, worüber Texte handeln, die du irgendwo liest!
    3. Du sagst, du willst C++ lernen, lernst aber eine andere Sprache! Entweder weißt du selber nicht, was du willst, oder du hast zum falschen Buch gegriffen. Wissen über C bringt dir nichts in C++, und umgekehrt auch sehr wenig.


  • Vielen Dank für deine Antwort.

    C soll der Einstig sein um letzten Endes C++ zu erlernen.

    Das:

    #include <iostream>
    #include <vector>
    #include <string>

    using namespace std;

    habe im Internet als Lösung gefunden und so gut es geht umgesetzt um in Visual Studio Code debuggen zu können. Dabei sollte ich den C/C++ Microsoft Compiler in Visual Studio Code downloaden und einbinden.

    Eigentlich sollte dieser Compiler auch C können.

    Ich habe in meiner Debugging-Konsole eine Fehlermeldung entdeckt.
    Scheint so als läge das Problem etwas tiefer.

    Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
    =thread-selected,id="1"
    =library-unloaded,id="/Users/photonic_tz22/Documents/VS Studio/projects/helloworld/code ./helloworld",target-name="/Users/photonic_tz22/Documents/VS Studio/projects/helloworld/code ./helloworld",host-name="/Users/photonic_tz22/Documents/VS Studio/projects/helloworld/code ./helloworld"


  • Mod

    @Photonics sagte in C++ in Visual Studio mir M1; Wiedergabe Fehler:

    C soll der Einstig sein um letzten Endes C++ zu erlernen.

    Das ist als ob man erst Holländisch lernt, wenn man Deutsch lernen will. Mach das nicht.

    Eigentlich sollte dieser Compiler auch C können.

    Kann er auch sicher. Aber du musst ihm sagen, welche Sprache er nehmen soll. Nämlich die, in der das Programm geschrieben ist. Ich weiß aber nicht genau wie, weil ich diesen speziellen Compiler nicht so genau kenne, und googeln kannst du das genauso gut wie ich.

    Hier hat das mit deinem wilden C und C++ Mischmasch mit der Übersetzung ausnahmsweise funktioniert, weil dein Programm so einfach war, dass der Deutsche dein niederländisches "Hallo!" auch noch korrekt als "Hallo!" verstehen konnte. Aber bei komplexeren Programmen wird das nicht mehr gehen. Derzeit steht dein Compiler auf C++, was ja auch richtig ist, wenn du C++ machen möchtest, siehe oben. Aber lass halt das C bleiben!

    @Photonics sagte in C++ in Visual Studio mir M1; Wiedergabe Fehler:

    Das:
    #include <iostream>
    #include <vector>
    #include <string>
    using namespace std;
    habe im Internet als Lösung gefunden

    Lösung für was? Das tut überhaupt gar nichts, das ist bloß so ein Standardgerüst, mit dem viele Programme in C++ beginnen.



  • @Photonics sagte in C++ in Visual Studio mir M1; Wiedergabe Fehler:

    C soll der Einstig sein um letzten Endes C++ zu erlernen.

    Lern Rust oder Kotlin. Duh.


Anmelden zum Antworten