在 C 中连接字符串和整数是一项常见任务,但找到最有效且最有效的方法可能很棘手。简洁的方法来做到这一点。可以使用多种方法来实现此目的,选择取决于性能、安全性和平台兼容性等因素。
1.使用Boost的lexical_cast:
#include <boost/lexical_cast.hpp> std::string name = "John"; int age = 21; std::string result = name + boost::lexical_cast<std::string>(age);
2.使用 C 11 的 std::to_string:
#include <iostream> std::string name = "John"; int age = 21; std::string result = name + std::to_string(age);
3.使用 FastFormat.Format:
#include <FastFormat.h> std::string name = "John"; int age = 21; std::string result; fastformat::fmt(result, "{0}{1}", name, age);
4.使用 FastFormat.Write:
#include <FastFormat.h> std::string name = "John"; int age = 21; std::string result; fastformat::write(result, name, age);
5.使用 {fmt} 库:
#include <fmt/format.h> std::string name = "John"; int age = 21; std::string result = fmt::format("{}{}", name, age);
6.使用 IOStreams:
#include <iostream> #include <sstream> std::string name = "John"; int age = 21; std::stringstream sstm; sstm << name << age; std::string result = sstm.str();
7.使用 itoa:
#include <cstdio> std::string name = "John"; int age = 21; char numstr[21]; // enough to hold all numbers up to 64-bits std::string result = name + itoa(age, numstr, 10);
8.使用 sprintf:
#include <cstdio> std::string name = "John"; int age = 21; char numstr[21]; // enough to hold all numbers up to 64-bits sprintf(numstr, "%d", age); std::string result = name + numstr;
9.使用STLSoft的integer_to_string:
#include <stlsoft/integer_to_string.hpp> std::string name = "John"; int age = 21; char numstr[21]; // enough to hold all numbers up to 64-bits std::string result = name + stlsoft::integer_to_string(numstr, 21, age);
10。使用STLSoft的winstl::int_to_string():
#include <wintlsoft/int_to_string.h> std::string name = "John"; int age = 21; std::string result = name + winstl::int_to_string(age);
11。使用 Poco 的 NumberFormatter:
#include <Poco/NumberFormatter.h> std::string name = "John"; int age = 21; std::string result = name + Poco::NumberFormatter().format(age);
详细介绍了每种方法的性能、安全性和兼容性特征,以帮助您选择最适合您特定需求的方法。
以上是如何在 C 中有效连接字符串和整数?的详细内容。更多信息请关注PHP中文网其他相关文章!