Home > Back-end >  How to convert opcua string to standard string in c
How to convert opcua string to standard string in c

Time:02-04

can someone tell how to convert UaString to std::string in c .

There is already a question which converts std::string to uastring: How can i convert a std::string to UaString?

Thanks in advance!

CodePudding user response:

One way could be to use the toUtf8 member function which returns a const char* that can be used to construct a std::string.

std::string str(uastring.toUtf8());

An alternative if uastring may contain null terminators:

std::string str(uastring.toUtf8(), uastring.size());

Note that UaString::length() shouldn't be used in this case since it returns the number of UTF8 characters while UaString::size() returns the number of bytes (which may be greater).

CodePudding user response:

e.g. You have UaString as below:

UaString sString("Test String");

Then you can make standard string as,

std::string myString(sString.toUtf8());

Reference:

UA Server SDK C

C String Class

  •  Tags:  
  • Related