문제

나는 방금 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);
    }
}
.

coliru에 라이브

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top