C#到C++;函数等价-.tostring(";X4";) 是否有C++函数的函数等价项?toStand(“x4”),到C++ + 我一直在搔我的头,想知道为什么我的传感器报告的是一个不同的序列号,是制造商软件(C语言)和我的C++代码报告的。序列号也写在传感器上,这与制造商的C#代码报告有关。在检查他们的源代码时,他们使用.tostring(“X4”)函数将其转换为“人类可读”,这是有意义的(从“哦,这就是它的不同之处”,而不是“你到底为什么要这样做”的角度)
有关进一步资料——C#到C++;函数等价-.tostring(";X4";) 是否有C++函数的函数等价项?toStand(“x4”),到C++ + 我一直在搔我的头,想知道为什么我的传感器报告的是一个不同的序列号,是制造商软件(C语言)和我的C++代码报告的。序列号也写在传感器上,这与制造商的C#代码报告有关。在检查他们的源代码时,他们使用.tostring(“X4”)函数将其转换为“人类可读”,这是有意义的(从“哦,这就是它的不同之处”,而不是“你到底为什么要这样做”的角度),c#,c++,string,C#,C++,String,有关进一步资料—— 一个类似的问题,但C to java的-< /p> C++中没有现成可用的等效函数,但可以创建一个类似的工作方式: #include <iostream> #include <sstream> #include <string> template<class T> std::string tostringX(unsigned len, T v) { std::ostringstream os; os <
一个类似的问题,但C to java的-< /p> C++中没有现成可用的等效函数,但可以创建一个类似的工作方式:
#include <iostream>
#include <sstream>
#include <string>
template<class T>
std::string tostringX(unsigned len, T v) {
std::ostringstream os;
os << std::hex << v;
auto rv = os.str();
if(rv.size() < len) rv = std::string(len - rv.size(), '0') + rv;
return rv;
}
int main() {
std::cout << tostringX(4, 0xFEDC) << '\n'; // outputs "fedc"
}
#包括
#包括
#包括
模板
std::string-tostringX(无符号len,tV){
std::ostringstream os;
OS C++中没有现成的等效函数,但可以创建一个类似的工作方式:
#include <iostream>
#include <sstream>
#include <string>
template<class T>
std::string tostringX(unsigned len, T v) {
std::ostringstream os;
os << std::hex << v;
auto rv = os.str();
if(rv.size() < len) rv = std::string(len - rv.size(), '0') + rv;
return rv;
}
int main() {
std::cout << tostringX(4, 0xFEDC) << '\n'; // outputs "fedc"
}
#包括
#包括
#包括
模板
std::string-tostringX(无符号len,tV){
std::ostringstream os;
操作系统#包括
#包括
#包括
int main(){
int x=12;
std::stringstream;
流#包括
#包括
#包括
int main(){
int x=12;
std::stringstream;
流使用sscanf或sprintf。(对于上下文,X4
将数字格式设置为大写十六进制数字,如果需要,使用前导0填充到总共4个字符)如果您可以使用第三方LIB,您可以尝试使用sscanf或sprintf。(在上下文中,X4
将数字格式化为大写十六进制数字,必要时用前导0填充到总共4个字符)如果您能负担得起使用第三方LIB,您可以尝试使用setfill
,setw
比我在回答中做的更好。+1(尽管sizeof(x)
因为宽度有点可疑-setfill(x)
可能是2甚至8)@tedlynmo非常感谢。它可能与您说的是不同:)我编辑了。感谢您的贡献。使用setfill
和setw
比我在回答中做的更好。+1(尽管sizeof(x)
宽度有点可疑-sizeof(x)
可能是2甚至8)@TEDLYNMO非常感谢。它可能与您说的“是”有所不同:)我编辑了。感谢您的贡献。非常感谢!传感器现在报告了正确的序列号。@BenBird Lovely!不客气!非常感谢!传感器现在报告了正确的序列号。@BenBird Lovely!不客气!