C语言 字符数组转字符串

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void catostr(char* arr, int len, char* string)
{
 char *tmp = (char *)malloc((sizeof(arr) + 1)*sizeof(char));
 for (int i = 0; i < len; i++)
 {
  tmp[i] = arr[i];
 }
 tmp[sizeof(arr)+1] = '\0';
 strcpy(string, tmp);
 //memcpy(string, tmp, len+1);
 free(tmp);
}int main()
{
 char arr[5] = {'H', 'E', 'L', 'L', 'O'};
 char string[sizeof(arr) + 1];
 catostr(arr, sizeof(arr), string);
 printf("%s\n", string);
 
 return 0;
}

版权声明:本文为zhihong4102原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。