我有一个函数,返回一个介于1到255之间的整数。有没有一种方法可以将此int转换为一个字符,可以将strcmp()
转换为现有字符串。
基本上,我需要从PRNG中创建一个字母字符串(所有ASCII值)。我已将所有工作减去int转换为char部分。没有像PHP中的Chr()
函数。
最佳答案
C语言中的char
只能接受从CHAR_MIN
到CHAR_MAX
的值。如果对char
进行了签名,则CHAR_MAX
可能小于255(例如,公用值为127)。如果char
是未签名的,则CHAR_MAX
必须至少为255。
假设您的char
是未签名的,则只需将随机数分配给char
(例如,在您的字符串中)。如果char
已签名,则必须更加小心。在这种情况下,您可能想将值mod 128分配给char
。
实际上,由于您正在处理ASCII,因此您可能仍要这样做(ASCII最多为127)。
最后,强制性可移植性说明:char
的整数值可能不表示其ASCII值,如果基础编码不是ASCII的话(例如EBCDIC)。
关于c - 在C中将随机整数1-255转换为字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2331205/