(C++) Sätze Speichern



  • Hi ,

    ich möchte einen Satz (oder auch 2) in eine Datei Speichern , aber mir

    char xyz[100] und  fprintf
    

    geht es nicht , da hängter sich bei den Leerstellen auf . Und wenn ich xyz gleich als String nehme geht es nicht mer mit fprintf . Was soll ich da machen ? 😕

    [ Dieser Beitrag wurde am 04.11.2002 um 18:31 Uhr von darktown2 editiert. ]



  • fputs() ??

    hast Du vielleicht ein bischen Code? Ich kann mir ehrlich gesagt nicht vorstellen, dass fprintf() nicht funktioniert...



  • klar kannste Code haben ,

    if(datei2 == true)
                {
                cout << " Geben sie hier ihren Text ein . \n";
                cin >> htext;
                Datei = fopen(name_seite,"a");
                fprintf(Datei,"<p><p><p>");
                fprintf(Datei,htext);
                fclose(Datei);
                }
    

    htext ist ein Sring , und wenn ich kompiliere bekomme ich dass : ompilierung läuft...
    main.cpp
    F:\PROGRAMME\MICROSOFT VISUAL STUDIO\MyProjects\script\main.cpp(145) : error C2664: 'fprintf' : Konvertierung des Parameters 2 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'const char *' nicht moeg
    lich
    Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
    Fehler beim Ausführen von cl.exe.

    main.obj - 1 Fehler, 0 Warnung(en)

    [ Dieser Beitrag wurde am 04.11.2002 um 20:01 Uhr von darktown2 editiert. ]



  • Tja ... Ein "String" (C++, irgend eine Klasse) ist was anderes als ein char* oder char[] (Was halt C als String kennt). Das steht eigentlich auch in der Fehlermeldung Deines Compilers...

    C++ und C Code mischen ist ohnehin 'ungeschickt'. Wahrscheinlich gibt's irgendwelche Memberfunktionen der Klasse, mit die dann cout & Co unterstützen.



  • Probier mal:

    fprintf(Datei,htext.c_str());



  • Danke erstmal , aber @spiric bei fprintf(Datei,htext.c_str()); gibt er zwar keine Fehlermeldung aus hängt sich aber bei den Leerstellen im Satz auf , dh. bei Leerstellen schmiert das Programm ab .



  • Entweder C oder C++!

    In C++ sieht die Sache so aus:

    #include <iostream>
    #include <string>
    
    ...
    
    string Satz;
    
    getline ( cin , Satz );
    

    Und da das bester Standard ist, verschiebe ich es ins C++-Forum.

    MfG SideWinder


Anmelden zum Antworten