 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
Torsten Mohr Guest
|
Posted: Wed Nov 12, 2003 9:16 pm Post subject: String: wo liegen die Daten, Adresse im Speicher bestimmen |
|
|
Hallo,
ich möchte eine C++-Klasse in Perl zur Verfügung stellen.
Hierfür möchte ich an den "char*" auf die rohen Daten
des String zugreifen. Leider weiss ich nicht, wie ich
da ran komme, in der Doku zur STL habe ich leider nichts
gefunden.
Ich möchte aus einem std::string einen Perl-String
generieren und dazu benötige ich die Adresse.
Danke für Tipps,
Torsten.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Daniel Albuschat Guest
|
Posted: Thu Nov 13, 2003 6:24 am Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm |
|
|
Torsten Mohr wrote:
| Quote: | Hallo,
ich möchte eine C++-Klasse in Perl zur Verfügung stellen.
Hierfür möchte ich an den "char*" auf die rohen Daten
des String zugreifen. Leider weiss ich nicht, wie ich
da ran komme, in der Doku zur STL habe ich leider nichts
gefunden.
Ich möchte aus einem std::string einen Perl-String
generieren und dazu benötige ich die Adresse.
|
Das erreichst du mit std::string::c_str() oder std::string::data().
Daniel
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Stefan Reuther Guest
|
Posted: Thu Nov 13, 2003 10:12 am Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm |
|
|
Daniel Albuschat <daniel (AT) viming (DOT) de> wrote:
| Quote: | Torsten Mohr wrote:
ich möchte eine C++-Klasse in Perl zur Verfügung stellen.
Hierfür möchte ich an den "char*" auf die rohen Daten
des String zugreifen. Leider weiss ich nicht, wie ich
da ran komme, in der Doku zur STL habe ich leider nichts
gefunden.
Ich möchte aus einem std::string einen Perl-String
generieren und dazu benötige ich die Adresse.
Das erreichst du mit std::string::c_str() oder std::string::data().
|
....diese Daten darfst du aber nur lesen. Falls das Perl-Dingens
die Daten auch verändern soll, wird man nicht umhin kommen, zu
Fuß was zu stricken (raus- und nachher wieder rein-kopieren).
Stefan
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Thomas Dorner Guest
|
Posted: Thu Nov 13, 2003 6:18 pm Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm |
|
|
SR>Daniel Albuschat <daniel (AT) viming (DOT) de> wrote:
SR>> Torsten Mohr wrote:
SR>>> Ich möchte aus einem std::string einen Perl-String
SR>>> generieren und dazu benötige ich die Adresse.
SR>
SR>> Das erreichst du mit std::string::c_str() oder std::string::data().
SR>
SR>...diese Daten darfst du aber nur lesen. Falls das Perl-Dingens
SR>die Daten auch verändern soll, wird man nicht umhin kommen, zu
SR>Fuß was zu stricken (raus- und nachher wieder rein-kopieren).
Genau, aber das muß Torsten sowieso machen, da Perl ja auch ein
eigenes String Format mit unterschiedlichen Funktionen für Hin- und
Rückweg hat. Etwa:
newSVpv(DeinCPPString.c_str(), 0)
oder
newSVpv(DeinCPPString.data(), DeinCPPString.length())
Die andere Richtung wäre dann SvPV mit Zuweisungsoperator oder assign.
Viele Grüße, Thomas
--
From-Adresse ist ungültig, Reply-To Adresse gilt nur 4 Wochen!
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Thomas Maeder Guest
|
Posted: Fri Nov 14, 2003 6:08 am Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm |
|
|
Torsten Mohr <tmohr@s.netic.de> writes:
| Quote: | ich möchte eine C++-Klasse in Perl zur Verfügung stellen.
|
Kennst Du SWIG ([url]http://www.swig.org/)?[/url]
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
Torsten Mohr Guest
|
Posted: Mon Nov 17, 2003 4:14 pm Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm |
|
|
Hallo,
das trifft so ziemlich genau das, was ich suche.
Der String, den ich übergeben will enthält Nullen, deshalb
eine weitere Frage:
| Quote: | newSVpv(DeinCPPString.c_str(), 0)
scheidet wahrscheinlich aus... |
| Quote: | oder
newSVpv(DeinCPPString.data(), DeinCPPString.length())
|
Muss ich nicht "newSVpvn" nehmen? Die Doku nennt leider
keine Unterschiede der beiden Funktionen, aber ich vermute,
dass das "n" andeutet, dass die Länge bedeuted ist, richtig?
Danke für Tipps,
Torsten.
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+mod (AT) bud (DOT) prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-faq (AT) bud (DOT) prima.de
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|