c语言 - PBC element_to_bytes错误 "prints garbage" 无法将元素转换为字符串



当我将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);

相关内容

  • 没有找到相关文章

最新更新