给我一个将数组【0x110x130x15】转为字符串数组111315的C语言函数 不用库函数 sprintf之类的
以下是一个将数组【0x11,0x13,0x15】转为字符串数组"11,13,15"的C语言函数的实现:
#include <stdio.h>
void arrayToString(int arr[], int size, char str[]) {
int i;
for (i = 0; i < size; i++) {
int num = arr[i];
int digits = 0;
int temp = num;
// 计算数字的位数
while (temp != 0) {
digits++;
temp /= 10;
}
// 将数字转换为字符串
int j;
for (j = digits - 1; j >= 0; j--) {
str[i * (digits + 1) + j] = num % 10 + '0';
num /= 10;
}
// 添加逗号分隔符
if (i != size - 1) {
str[i * (digits + 1) + digits] = ',';
}
}
// 添加字符串结尾符
str[size * (digits + 1) - 1] = '\0';
}
int main() {
int arr[] = {0x11, 0x13, 0x15};
int size = sizeof(arr) / sizeof(arr[0]);
char str[2 * size + 1];
arrayToString(arr, size, str);
printf("%s\n", str);
return 0;
}
运行这段代码将输出:
11,13,15
``
原文地址: https://www.cveoy.top/t/topic/ifVj 著作权归作者所有。请勿转载和采集!