Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menggabungkan Rentetan dan Integer dengan Cekap dalam C?

Bagaimanakah Saya Boleh Menggabungkan Rentetan dan Integer dengan Cekap dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-12-26 15:28:10976semak imbas

How Can I Efficiently Concatenate Strings and Integers in C  ?

Menggabungkan Rentetan dan Integer dalam C

Menggabungkan rentetan dan integer dalam C ialah tugas biasa, tetapi mungkin sukar untuk mencari yang paling cekap dan cara ringkas untuk melakukannya. Pelbagai kaedah boleh digunakan untuk mencapai matlamat ini, dan pilihan bergantung pada faktor seperti prestasi, keselamatan dan keserasian platform.

1. Menggunakan lexical_cast Boost:

#include <boost/lexical_cast.hpp>

std::string name = "John";
int age = 21;
std::string result = name + boost::lexical_cast<std::string>(age);

2. Menggunakan std::to_string C 11:

#include <iostream>

std::string name = "John";
int age = 21;
std::string result = name + std::to_string(age);

3. Menggunakan FastFormat.Format:

#include <FastFormat.h>

std::string name = "John";
int age = 21;
std::string result;
fastformat::fmt(result, "{0}{1}", name, age);

4. Menggunakan FastFormat.Write:

#include <FastFormat.h>

std::string name = "John";
int age = 21;
std::string result;
fastformat::write(result, name, age);

5. Menggunakan Pustaka {fmt}:

#include <fmt/format.h>

std::string name = "John";
int age = 21;
std::string result = fmt::format("{}{}", name, age);

6. Menggunakan IOSstreams:

#include <iostream>
#include <sstream>

std::string name = "John";
int age = 21;
std::stringstream sstm;
sstm << name << age;
std::string result = sstm.str();

7. Menggunakan 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. Menggunakan 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. Menggunakan integer_to_string STLSoft:

#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. Menggunakan winstl::int_to_string() STLSoft:

#include <wintlsoft/int_to_string.h>

std::string name = "John";
int age = 21;
std::string result = name + winstl::int_to_string(age);

11. Menggunakan Poco's NumberFormatter:

#include <Poco/NumberFormatter.h>

std::string name = "John";
int age = 21;
std::string result = name + Poco::NumberFormatter().format(age);

Prestasi, keselamatan dan ciri keserasian setiap kaedah diperincikan untuk membantu anda memilih pendekatan terbaik untuk keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggabungkan Rentetan dan Integer dengan Cekap dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn