如何在C语言中生成唯一ID

如何在C语言中生成唯一ID,c,C,我正在开发一个应用程序,它需要为新用户生成一个id,我想用最少的字符数来创建1000亿个不同的id,那么我应该怎么做,如何避免给两个用户相同的id呢?我应该看看那个id是否存在吗?我应该使用随机id生成器还是按001 002等顺序提供id?这完全取决于您希望从该id获得什么样的功能,您是否希望这些id与持久化数据(如数据库)相关联?如果是这种情况,让数据库为您处理唯一ID生成可能更为谨慎。否则,使用顺序值,如1,2,3。。。etc可能是理想的。unsigned long将为前20亿用户提供保险。

我正在开发一个应用程序,它需要为新用户生成一个id,我想用最少的字符数来创建1000亿个不同的id,那么我应该怎么做,如何避免给两个用户相同的id呢?我应该看看那个id是否存在吗?我应该使用随机id生成器还是按001 002等顺序提供id?

这完全取决于您希望从该id获得什么样的功能,您是否希望这些id与持久化数据(如数据库)相关联?如果是这种情况,让数据库为您处理唯一ID生成可能更为谨慎。否则,使用顺序值,如1,2,3。。。etc可能是理想的。unsigned long将为前20亿用户提供保险。。。如果你超越了这一点,那么你可以重新考虑你的数据存储。
这个问题很广泛。

你提到的计数器可能是一个很好的解决方案。这就是数据库的用途。只需在会话之间保存状态。最小字符数取决于字符集的大小-仅数字[0-9]?字母数字[0-9][a-z][a-z]?还有别的吗?^^^什么@俄勒冈吉姆说的。一旦你定义了你的字符集,你就可以计算字符的数量,然后用计算器进行乘法运算,直到你达到“1000亿”的极限。[number of mults]+1给出了唯一标识这些用户所需的字符数。