在C++中,沒有內置的format函數,但可以使用其他庫或自己實現類似的功能。以下是一些常見的方式:
#include <iostream>
#include <sstream>
int main() {
int num = 10;
std::string str = "Hello";
std::stringstream ss;
ss << str << " " << num;
std::string result = ss.str();
std::cout << result << std::endl; // 輸出:Hello 10
return 0;
}
boost::format
庫:Boost庫提供了一個format函數,可以以類似于Python中的格式化字符串的方式來格式化輸出。#include <iostream>
#include <boost/format.hpp>
int main() {
int num = 10;
std::string str = "Hello";
std::string result = boost::str(boost::format("%1% %2%") % str % num);
std::cout << result << std::endl; // 輸出:Hello 10
return 0;
}
#include <iostream>
#include <string>
#include <sstream>
template<typename... Args>
std::string format(const std::string& fmt, Args... args) {
std::ostringstream oss;
int dummy[] = {0, ((void)(oss << args), 0)...};
(void)dummy; // 防止編譯器警告“未使用的變量”
return oss.str();
}
int main() {
int num = 10;
std::string str = "Hello";
std::string result = format("%s %d", str.c_str(), num);
std::cout << result << std::endl; // 輸出:Hello 10
return 0;
}
這些方法都可以用于實現類似于格式化輸出的功能,具體使用哪種方法取決于個人偏好和項目需求。