Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Advanced Developers Conference     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: FAQ - MFC ::  Casten - CString zu char*     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
Lordrin
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.12.2001
Beiträge: 72
Beitrag Lordrin Mitglied 11:52:00 18.01.2002   Titel:   Casten - CString zu char*            Zitieren

Mal wieder eine Frage

Ich versuche schon sei geraumer Zeit immer wieder eine Variable vom Typ CString in den Typ char* zu überführen. Bis jetzt konnte ich mich immer wieder darum herummogeln, aber komme ich nicht mehr drum rum.
Also könnte mir bitte kurz jemand posten wie das funktioniert?

Danke!

_________________
Einfach ist schön aber schwer.


Zuletzt bearbeitet von estartu am 10:34:40 16.01.2006, insgesamt 1-mal bearbeitet
Werbeunterbrechung
elise
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.05.2001
Beiträge: 8074
Beitrag elise Mitglied 12:04:00 18.01.2002   Titel:              Zitieren

hi
hatte ich mir mal notiert:

strcpy((char*)myUnsignedChar, myCString);

[img]images/smiles/icon_smile.gif[/img]

[ Dieser Beitrag wurde am 18.01.2002 um 13:29 Uhr von elise editiert. ]

_________________
There's An App For That

OSL♥
Lordrin
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.12.2001
Beiträge: 72
Beitrag Lordrin Mitglied 12:54:00 18.01.2002   Titel:              Zitieren

Besten Dank endlich weiß ich es !! [img]images/smiles/icon_smile.gif[/img]

_________________
Einfach ist schön aber schwer.
Marc++us
Administrator

Benutzerprofil
Anmeldungsdatum: 05.04.2000
Beiträge: 16966
Beitrag Marc++us Administrator 13:02:00 18.01.2002   Titel:              Zitieren

Das gefällt mir gar nicht.

Zunächst ist die Kopie nicht direkt notwendig, zum anderen ist diese Konversion für das strcpy reichlich schmutzig: sie nutzt nämlich aus, daß der Zeiger auf den internen Stringbuffer gleich zu Beginn der Klasse CString gespeichert ist, und daher ein Cast der Adresse des CString-Objekts auch nebenbei die Adresse des Strings liefert. Implementationsdetails sollte man nie ausnutzen, wer weiß ob sich das mal aus irgendwelchen Gründen ändert.

CString besitzt zwei geeignete Member, entweder nimmt man GetBuffer oder den Cast-Operator LPCTSTR:

C/C++ Code:
CString str = "Hallo Welt";

printf("%s %s\n", (LPCTSTR)str, str.GetBuffer(255));
C/C++ Code:
CString str = "Hallo Welt";

printf("%s %s\n", (LPCTSTR)str, str.GetBuffer(255));
C/C++ Code:
CString str = "Hallo Welt";

printf("%s %s\n", (LPCTSTR)str, str.GetBuffer(255));


GetBuffer nimmt als Parameter die Mindestanzahl der Zeichen, die zurück geliefert werden sollen.

GetBuffer gibt einen Zeiger auf LPSTR zurück, man kann also danach auch schreiben auf den Buffer zugreifen. LPCTSTR liefert einen konstanten String, den man nur lesen kann.

_________________
Viele Grüße
Marc++us
C++.de
elise
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.05.2001
Beiträge: 8074
Beitrag elise Mitglied 13:30:00 18.01.2002   Titel:              Zitieren

@marcu++s

danke [img]images/smiles/icon_smile.gif[/img]

_________________
There's An App For That

OSL♥
dEUs
Moderator

Benutzerprofil
Anmeldungsdatum: 16.05.2001
Beiträge: 11761
Beitrag dEUs Moderator 14:13:00 18.01.2002   Titel:              Zitieren

auch von mir [img]images/smiles/icon_smile.gif[/img]

_________________
Gruß,
dEUs
-Mod im MFC & C#-Forum-
Lordrin
Mitglied

Benutzerprofil
Anmeldungsdatum: 07.12.2001
Beiträge: 72
Beitrag Lordrin Mitglied 16:37:00 18.01.2002   Titel:              Zitieren

Und von mir erst !! [img]images/smiles/icon_biggrin.gif[/img]

_________________
Einfach ist schön aber schwer.
Unix-Tom
Moderator

Benutzerprofil
Anmeldungsdatum: 18.07.2000
Beiträge: 10376
Beitrag Unix-Tom Moderator 23:48:00 18.01.2002   Titel:              Zitieren

Ok. OK Dann in die FAQ-MFC damit.

_________________
Moderator für MFC, Linux und Datenbanken
C/C++ Forum :: FAQ - MFC ::  Casten - CString zu char*   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können keine Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum nicht antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.