2014-02-26 1 views
4

방금 ​​C++에서 부스트를 사용하기 시작했고 uuids와 관련된 몇 가지 질문을하고 싶습니다.boost :: utuid 변환 문자열

일부 개체를 연결할 수 있도록 uuids를 알아야하는 파일을로드 중입니다. 이런 이유로, 나는 내 자신의 uuids를 작성하려고 노력하고 있지만 문자열 (string)에 대한 특별한 조건이 있는지는 잘 모르겠다. 누구든지 올바른 방향으로 나를 가리킬 수 있습니까? 내가 문자열 생성기를 사용하여 시도했지만, 아무 소용이 지금까지 그래서 내 문자열 (현재는 그냥 임의의 단어가)에 뭔가 문제가 있다고 가정 해요. "나는 샘플이 필요"로

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()); 
    } 
} 

답변

5

내가 질문을했다 :

다음은 실제 코드를 줄 수, 일의 짧은 예 종류입니다. 여기

  • 부스트 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); 
        } 
    } 
    

    Live On Coliru

    를 참조하십시오