Mailinglist Archive: opensuse-programming-de (184 mails)

< Previous Next >
C++ Vector -> C Array
  • From: Bastian Schern <bschern01@xxxxxx>
  • Date: Mon, 06 Oct 2003 14:59:44 +0200
  • Message-id: <3F816740.5040201@xxxxxx>
Hallo,

gibt es eine einfache Möglichkeit einen C++ Vector an eine Funktion zu übergeben, die ein C Array erwartet.
So wie z.B. bei der Klasse string:
string text = "Hallo";
printf( "%s", text.c_str() );

Man kann auch text.data() machen, dann wird aber '\0' am ende abgeschnitten und man kann den string dann nicht mehr ausgeben (weil es ja kein C-String mehr ist).

Ich benötige das aber nicht für strings, sondern für ganz normale Arrays.
Beispiel:

vector<double> packet_lengths( total_packets );
for( pkt_num_t i=0; i<total_packets; i++ ) {
pcap_next( handle, &header );
packet_lengths[i] = (double)header.len;
}

double mean = gsl_stats_mean( packet_lengths.data(), 1,
packet_lengths.size() );

Die Funktion gsl_stats_mean( ... ) benötigt leider ein C-Array.

Vielen Dank für eure Hilfe
Bastian


< Previous Next >
Follow Ups