Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

01.03.2010, 22:06

String To Char

Hallo,

Ich habe ein Problem mit der Funktion fopen. Sie erwartet so weit ich das sehe ein Array of Char. Ich möchte aber kein Array an die Funktion übergeben sondern einen String.

Wie kann ich den String jetzt in ein Array umwandeln?

Quellcode

1
2
3
4
5
6
void WriteTextIntoFile(std::string sText,std::string sFileName)
{
    FILE *file;
    file = fopen(sFileName,"a+t");

}


Zitat

--------------------Konfiguration: test - Win32 Debug--------------------
Kompilierung läuft...
FileIO.cpp
C:\Programme\Microsoft Visual Studio\MyProjects\test\FileIO.cpp(8) : error C2664: 'fopen' : Konvertierung des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'const char *' nicht moeglich
Kein benutzerdefinierter Konvertierungsoperator verfuegbar, der diese Konvertierung durchfuehren kann, oder der Operator kann nicht aufgerufen werden
Fehler beim Ausführen von cl.exe.

test.exe - 1 Fehler, 0 Warnung(en)

2

01.03.2010, 22:09

Memberfunktion std::string::c_str(), siehe www.cplusplus.com.

Aber warum verwendest du für Datei-IO nicht die C++-Variante std::fstream? Dann hättest du zum Beispiel dein Resource-Leak nicht.

3

02.03.2010, 14:00

Weil er offensichtlich lieber C programmiert als C++.

4

02.03.2010, 15:00

Naja, reines C ist es nur schon wegen std::string und der Dateiendung cpp wohl eher nicht.

Databyte

Alter Hase

Beiträge: 1 040

Wohnort: Na zu Hause

Beruf: Student (KIT)

  • Private Nachricht senden

5

02.03.2010, 15:08

Ich kann bei Strings noch das emfehlen:

C-/C++-Quelltext

1
void WriteTextIntoFile(const std::string& sText, const std::string& sFileName)


oO das is fast ( :) ) das gleiche aber schneller...

Werbeanzeige