当我将element_t转换为字符串时,我得到了垃圾值。原因是什么呢?
element_printf("element_a: %B",a);
//int len = element_length_in_bytes(a);
unsigned char* strA= (unsigned char*)malloc(element_length_in_bytes(a)*sizeof(char));
element_to_bytes(strA,a);
printf("nnn a: %snnn",strA);
输出为:
element_a: 676879270129030191324293305775237511254264666883
a: v�P��?�P�+��a�����[
我想把普通的a打印为element_a。我错过了什么?
谢谢,优
您没有获得垃圾,您没有将您的元素转换为字符串。您正在向printf传递一个字节数组,并告诉该函数将其解释为字符。毫无疑问,这行不通。尝试element_snprint ()
element_printf("element_a: %B",a);
size_t s = (size_t) element_length_in_bytes(a);
char* strA= (char*)malloc(s*sizeof(char));
element_snprint(strA, s, a)
printf("nnn a: %snnn",strA);