STRING to BOOST :: UUID 변환
-
21-12-2019 - |
문제
나는 방금 C ++에서 부스트를 사용하기 시작했고 나는 단지 uuids와 관련된 몇 가지 질문을하고 싶었다.
파일에로드 중이므로 일부 객체를 함께 연결할 수 있도록 UUID를 알고 있어야합니다.이러한 이유로, 저는 내 UUID를 작성하려고 노력하지만 문자열을 사용한 문자열 (일반적으로 기본적인 것)이 작동하지 않으므로 문자열에 특별한 조건이 있는지 확실하지 않습니다.누구든지 나를 올바른 방향으로 가리킬 수 있습니까?나는 문자열 생성기를 사용해 보았지만 지금까지 사용할 수 없으므로 내 문자열 (현재 무작위로 단어가 있었던 것)이 잘못되었다고 가정합니다.
여기에 짧은 사례는 실제 코드를 제공 할 수 없습니다 :
void loadFiles(std::string xmlFile);
void linkObjects(custObj network)
{
for (int i = 0; i < network->getLength(); i++)
{
network[i]->setId([boost::uuid]);
if (i > 0)
network[i]->addObj(network[i-1]->getId());
}
}
. 해결책
나는 당신의 질문을 "샘플이 필요합니다".다음은
를 보여주는 샘플입니다.- 읽기
- 쓰기
- 생성 를 생성합니다
- 비교
부스트 UUID가있는 UUID.
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
#include <boost/uuid/random_generator.hpp>
#include <boost/lexical_cast.hpp>
using namespace boost::uuids;
int main()
{
random_generator gen;
for (int i = 0; i < 10; ++i)
{
uuid new_one = gen(); // here's how you generate one
std::cout << "You can just print it: " << new_one << "; ";
// or assign it to a string
std::string as_text = boost::lexical_cast<std::string>(new_one);
std::cout << "as_text: '" << as_text << "'\n";
// now, read it back in:
uuid roundtrip = boost::lexical_cast<uuid>(as_text);
assert(roundtrip == new_one);
}
}
.
제휴하지 않습니다 StackOverflow