【问题标题】:Is there a better way to find length of any String or a Number?有没有更好的方法来查找任何字符串或数字的长度?
【发布时间】:2015-07-14 17:19:33
【问题描述】:

这是一种方法,但它的问题是不必要地使用输出屏幕。

lenth=printf("%d",num);// or lenth=printf("%s",str);

如果没有 printf 的输出,我怎么能找到长度?

【问题讨论】:

  • C 还是 C++?选择一个...
  • 对于数字还是字符串?因为它们在内部并不相同......
  • @Abhishek 然后使用类似std::to_string(num).size();
  • 只要使用足够大的缓冲区的snprintf
  • 哦,拜托,他在问什么非常清楚。

标签: c


【解决方案1】:

您可以将snprintf()empty 缓冲区一起使用(即传递一个空指针),如果缓冲区中有足够的空间,它将返回已写入缓冲区的字符数:

int length = snprintf(0, 0, "%d", num);

这样,您不需要使用实际的缓冲区,也不会像 printf() 那样在 stdout 上打印。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多