C语言 字符串每两位按逗号分隔,并且每两位前加上(byte)0x前缀
时间: 2024-01-14 16:03:27 浏览: 26
可以使用 C 语言的字符串操作函数 `strlen` 和 `strncpy` 来实现。示例如下:
```c
#include <stdio.h>
#include <string.h>
void format_string(char *str, char *result) {
int len = strlen(str);
int i, j = 0;
for (i = 0; i < len; i += 2) {
strncpy(result + j, "(byte)0x", 8);
strncpy(result + j + 8, str + i, 2);
j += 10;
if (i < len - 2) {
strncpy(result + j, ",", 1);
j += 1;
}
}
result[j] = '\0';
}
int main() {
char str[] = "1234567890";
char result[100];
format_string(str, result);
printf("%s\n", result); // 输出:(byte)0x12,(byte)0x34,(byte)0x56,(byte)0x78,(byte)0x90
return 0;
}
```
首先定义一个字符串 `str`,然后定义一个函数 `format_string`,该函数接受两个参数,第一个参数是待格式化的字符串,第二个参数是格式化后的结果。函数中使用循环每隔两个字符取出子串,并在子串前面加上 `(byte)0x` 前缀,然后在子串后面加上逗号,最后去掉最后一个逗号即可。最后在主函数中调用该函数并输出结果。