所以要开始这个代码适用于我的所有redhat机器和其他一些solaris机器。产生故障的机器是solaris 64位。我的代码如下:
这是frUUID类:
frUUID::frUUID()
{}
std::string frUUID::genUUID()
{
char uuidBuff[36];
uuid_t uuidGenerated;
uuid_generate_random(uuidGenerated);
uuid_unparse(uuidGenerated, uuidBuff);
std::cout << uuidBuff << std::endl; // prints out a correct uuid
return std::string(uuidBuff);
}
然后在单元测试中我有:
frUUID uuids;
std::string uuid1 = uuids.genUUID();
std::cout << std::endl << "UUID 1: " << uuid1 << std::endl;
//This cout produces the seg fault on the uuid1
我不知道这里发生的一切似乎都是正确的?有没有人有任何想法?
答案 0 :(得分:4)
答案 1 :(得分:3)
您没有为uuidBuff
中的尾随空字节留出空间。
答案 2 :(得分:0)
变化
char uuidBuff [36];
到
char uuidBuff [37];
表示空字符