c++ - 同时替换多个字符

标签 c++ c random char int

因此,在我的代码中,我有一系列字符,我想用随机数据替换它们。由于 rand 可以替换整数,因此我认为通过一次替换四个字符而不是一次替换一个字符可以节省一些时间。所以基本上不是这个:

  unsigned char TXT[] = { data1,data2,data3,data4,data4,data5....
  for (i = 34; i < flenght; i++) // generating the data to send.
     TXT[i] = rand() % 255;

我想做这样的事情:

unsigned char TXT[] = { data1,data2,data3,data4,data4,data5....
for (i = 34; i < flenght; i+4) // generating the data to send.
  TXT[i] = rand() % 4294967295;

有效果,但我不知道如何做后一部分。非常感谢您能给我的任何帮助,谢谢!

最佳答案

那是行不通的。编译器将从 rand() % big_number 获取结果,并截掉多余的数据以将其放入 unsigned char 中。

就速度而言,您最初的方法很好。您考虑的优化是有效的,但很可能是不需要的。它可能不会产生明显的差异。

当然,您想做的事情可能的,但考虑到您的错误,我想说,现在了解的努力远远超过了好处。继续学习,下次当你遇到这样的代码时,你就会知道该怎么做(并判断是否有必要),回顾这一刻并微笑:)。

关于c++ - 同时替换多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6839849/

相关文章:

c - 如果与案例。如果奇怪地增加

java - 在Java中使用随机数时

javascript - 从数组到元素创建 3 个随机名称

javascript - 可以统一处理全范围MIN和MAX_SAFE_INTEGER的randomInt函数

c++ - boost使用c++11有多好?

c++ - 不正确的输出 RGB 到 HSI 转换

c - 正确填充空C字符串

c++ - 对 m128 的数组 [8] 使用 alignas(16) 是否正确?

c++ - 编译器如何实现静态变量初始化?

c++ - 在互联网上哪里可以学习 c/c++ 中的安全编程