我使用fgets
的数字是最好的选择,但显然它需要输入stdin?如何使用rand()
生成一个随机数并存储它?如何将一个随机数存入一个以空字符结尾的字符数组中?
回答
您可以使用sprintf()
:
char buf[11];
int r = rand();
sprintf(buf, "%d", r);
更加可靠的选择是使用snprintf()
如果你的运行时库提供的:
snprintf(buf, sizeof(buf), "%d", r);
以这种方式使用snprintf()
确保得到的字符串将不溢出buf
的界限。
难道只能存储长达10个数字的整数吗?如果它更长? –
@ user1787038:你说的没错。为了存储所有可能的值,你应该检查'RAND_MAX'的值是否适合你的平台,并使用适当的字符串宽度。如果不符合最大尺寸的假设,使用'snprintf()'将避免覆盖超过缓冲区末尾的内存。 –
这是一个很好的观点,我只是将声明更改为'char buf [11]'以容纳10位数字的NUL终结符。 –
- 1. 随机尾随字符在C中打印一个字符串
- 2. 将一个以空字符结尾的字符串与一个非空终止的字符串进行比较
- 3. 如何将一个字符串转换为一个字符数组中的字符大小的字符数组?
- 4. 将字符从一个字符串读入一个数组
- 5. 如何将字符数组分配给另一个字符数组中的另一个字符数组C
- 6. 如何从数组中随机选择一个字符串
- 7. 如何将C中两个字符串的字符随机组合在一起?
- 8. 将随机字符组合成一个字符串Java
- 9. 将字符串随机插入另一个字符串
- 10. 存储从一个字符数组中的值到另一个字符数组
- 11. 从随机用户输入创建一个字符串数组
- 12. numpy vectorized:检查数组中的字符串是否以另一个数组中的字符串结尾
- 13. 如何将一个double传递给一个函数,该函数在C中使用一个以空字符结尾的字符串?
- 14. 如何将一个字符随机附加到一个字符串?
- 15. 如何将一个字符串中的字符存储到数组中?
- 16. 如何将一个无符号字符数组保存到MySQL
- 17. 检查字符串是否以多个字符中的任何一个结尾
- 18. 如何在字符串中随机替换一个字符?
- 19. 匹配一个不以数字结尾的行(可能有尾随空格)
- 20. 将三个字完全读入一个字符数组中
- 21. 保存输入字符串字符到一个二维数组
- 22. Bash:在文件末尾添加一个随机字母数字字符串
- 23. 如何从随机数组列表中随意删除一个字符串
- 24. 确定字符串是否以另一个字符串结尾
- 25. jQuery从字符串数组中挑选一个随机值
- 26. C字符串有随机尾随字符,空终止问题?
- 27. 如何在结果中将尾随空字符串拆分为字符串?
- 28. 如何将字符串数组复制到另一个字符串数组中?
- 29. Unix随机16个字符的数字
- 30. 将一个字符串数组赋给一个空指针
存储它如何?最明显的方法是将其存储为十进制符号;如果这就是你的意思,请说出来。 –