Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#到C++;函数等价-.tostring(";X4";) 是否有C++函数的函数等价项?toStand(“x4”),到C++ + 我一直在搔我的头,想知道为什么我的传感器报告的是一个不同的序列号,是制造商软件(C语言)和我的C++代码报告的。序列号也写在传感器上,这与制造商的C#代码报告有关。在检查他们的源代码时,他们使用.tostring(“X4”)函数将其转换为“人类可读”,这是有意义的(从“哦,这就是它的不同之处”,而不是“你到底为什么要这样做”的角度)_C#_C++_String - Fatal编程技术网

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!不客气!