gpt4 book ai didi

C:如何使用sizeof来分割一个字符?

转载 作者:行者123 更新时间:2023-11-30 16:28:30 26 4
gpt4 key购买 nike

我有一个 char 数组,我想将其分割为每 16 个字节。这在 C 语言中是如何实现的呢?目的是用其他内容替换 16 个字节中的每个字节。

我已经实现了替换功能,所以我只需要每16个字节使用它即可。在伪代码中:

      void sub(unsigned char* s){

for (int i = 0; i < 16; i++)
{
state[i] = S[state[i]]; //S[] is a char array (S-Box). which consists of the values state needs to be substituted with.
}

}
int main(void){
char message[] = "This is the message I want to encrypt!"
for every 16 bytes {
sub(message);
}
}

最佳答案

一个例子是

#include <stdio.h>
#include <stdlib.h>

void sub(char *array, size_t size, char target_char)
{
size_t num_segments = size / 16;
for(size_t i=0; i<num_segments; ++i)
{
array[15 + i * 16] = target_char;
}
}

int main(int argc, char** argv)
{
if (argc != 3)
{
printf("need 3 args\n");
exit(1);
}

size_t size;
char *array = argv[1];
printf("original char array: %s\n", array);
sscanf(argv[2], "%zu", &size);

sub(argv[1], size, 'x');

printf("new char array: %s\n", array);
return 0;
}

关于C:如何使用sizeof来分割一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52358340/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com