这是一种方法,但问题是输出屏幕的不必要使用。
lenth=printf("%d",num);// or lenth=printf("%s",str);
如果没有printf的输出我怎么能找到长度?
答案 0 :(得分:2)
您可以将snprintf()
与空缓冲区一起使用(即传递空指针),如果有足够的空间,它将返回已写入缓冲区的字符数在其中:
int length = snprintf(0, 0, "%d", num);
这样,您就不需要使用实际的缓冲区,并且不会像stdout
那样在printf()
打印。