Well, if your subscriber relies on it being null terminated you should use c_str(), data() may work but its implementation dependant, not guaranteed to null terminate.
If you don't need a null terminated you can use size() instead of size() + 1. E.g. // To message memcpy(message.data(), zipcode.data(), zipcode.size()); // From message std::string result(static_cast<const char*>(message.data()), message.size()); Ric. From: [email protected] To: "ZeroMQ development list" <[email protected]> Date: 06/08/2013 03:41 PM Subject: Re: [zeromq-dev] help: memcpy with message_t Sent by: [email protected] Hi, Admir Thanks. You're right. zipcode.data() is also correct. -- Best Regards, Roy Liu On 2013-8-6, at 下午9:58, Admir Efendic <[email protected]> wrote: been ages but shouldn't this work: memcpy ((void *) message.data(), zipcode.c_str(), zipcode.size()+1); 2013/8/6 <[email protected]> I'm using PUB-SUB test with zmq. pls give me some advices. Thanks. My code: --------------------- std::string zipcode = "10001"; zmq::message_t message(zipcode.size()+1); // it's OK. memcpy ((void *) message.data(), "10001", zipcode.size()+1); // it's Error, subscriber always receives bizarre code. memcpy ((void *) message.data(), &zipcode, zipcode.size()+1); --------------------- -- Best Regards, Roy Liu _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev =========================================================== The information in this email is confidential, and is intended solely for the addressee(s). Access to this email by anyone else is unauthorized and therefore prohibited. If you are not the intended recipient you are notified that disclosing, copying, distributing or taking any action in reliance on the contents of this information is strictly prohibited and may be unlawful. ===========================================================
<<inline: graycol.gif>>
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
