Maison >développement back-end >C++ >Comment puis-je concaténer efficacement des chaînes et des entiers en C ?
Concaténer une chaîne et un entier en C est une tâche courante, mais il peut être difficile de trouver la solution la plus efficace et la plus efficace. manière concise de le faire. Différentes méthodes peuvent être utilisées pour y parvenir, et le choix dépend de facteurs tels que les performances, la sécurité et la compatibilité de la plate-forme.
1. Utilisation du lexical_cast de Boost :
#include <boost/lexical_cast.hpp> std::string name = "John"; int age = 21; std::string result = name + boost::lexical_cast<std::string>(age);
2. Utilisation de std::to_string:
#include <iostream> std::string name = "John"; int age = 21; std::string result = name + std::to_string(age);
3. Utilisation de FastFormat.Format :
#include <FastFormat.h> std::string name = "John"; int age = 21; std::string result; fastformat::fmt(result, "{0}{1}", name, age);
4. Utilisation de FastFormat.Write :
#include <FastFormat.h> std::string name = "John"; int age = 21; std::string result; fastformat::write(result, name, age);
5. Utilisation de la bibliothèque {fmt} :
#include <fmt/format.h> std::string name = "John"; int age = 21; std::string result = fmt::format("{}{}", name, age);
6. Utilisation d'IOStreams :
#include <iostream> #include <sstream> std::string name = "John"; int age = 21; std::stringstream sstm; sstm << name << age; std::string result = sstm.str();
7. Utiliser 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. Utilisation de 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. Utilisation de 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. Utilisation de 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. Utilisation du NumberFormatter de Poco :
#include <Poco/NumberFormatter.h> std::string name = "John"; int age = 21; std::string result = name + Poco::NumberFormatter().format(age);
Les caractéristiques de performance, de sécurité et de compatibilité de chaque méthode sont détaillées pour vous aider à choisir la meilleure approche pour vos besoins spécifiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!