C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

String: wo liegen die Daten, Adresse im Speicher bestimmen

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German)
View previous topic :: View next topic  
Author Message
Torsten Mohr
Guest





PostPosted: Wed Nov 12, 2003 9:16 pm    Post subject: String: wo liegen die Daten, Adresse im Speicher bestimmen Reply with 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.


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





PostPosted: Thu Nov 13, 2003 6:24 am    Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm Reply with quote



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





PostPosted: Thu Nov 13, 2003 10:12 am    Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm Reply with quote



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





PostPosted: Thu Nov 13, 2003 6:18 pm    Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm Reply with quote

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





PostPosted: Fri Nov 14, 2003 6:08 am    Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm Reply with quote

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





PostPosted: Mon Nov 17, 2003 4:14 pm    Post subject: Re: String: wo liegen die Daten, Adresse im Speicher bestimm Reply with quote

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
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (German) All times are GMT
Page 1 of 1

 
Jump to:  
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


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.