我正在构建我的第一个C++应用程序并选择在此阶段依赖的高效C++库,这是我正在考虑的设计考虑因素之一.
因此,我想将整数类型转换为字符串并决定是否使用;
sprintf(string, "%d", x);
Run Code Online (Sandbox Code Playgroud)
要么
整数到ASCI
itoa(x, string);
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议这些路线中哪一条有效,可能为什么?
谢谢.
dus*_*uff 14
他们都很有效率.注意它itoa()不是C++标准的一部分可能更为相关,因此在许多常见的运行时中都不可用.(特别是它不属于libstdc++它,因此在Mac OS X或Linux上不可用.)
Oli*_*rth 10
不要使用其中任何一种.使用std::stringstream等等.
std::stringstream ss;
ss << x;
ss.str(); // Access the std::string
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,转换为字符串都不太可能成为应用程序执行时间的重要部分.