首页 >后端开发 >C++ >如何在 C 中有效连接字符串和整数?

如何在 C 中有效连接字符串和整数?

Patricia Arquette
Patricia Arquette原创
2024-12-26 15:28:10978浏览

How Can I Efficiently Concatenate Strings and Integers in C  ?

在 C 中连接字符串和整数

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn