相关疑难解决方法(0)

如何将ascii转换为unsigned int

有没有将字符串转换为unsigned int的方法?_ultoa存在但无法找到vise版本...

c++

12
推荐指数
2
解决办法
3万
查看次数

Arduino:将字符串十六进制"#FFFFFF"转换为3 int

我完全新的C/C++,我试图找出如何,这将是一个HTML样式的RGB十六进制的形式,如"#FFFFFF",并把它转换成3点的整数瓦尔一个字符串参数转换

我真的不确定在哪里.

c c++ hex arduino

7
推荐指数
1
解决办法
2万
查看次数

C++十六进制字符串到unsigned int

可能重复:
C++将十六进制字符串转换为有符号整数

我正在尝试将十六进制字符串转换为C++中的unsigned int.我的代码看起来像这样:

string hex("FFFF0000");
UINT decimalValue;
sscanf(hex.c_str(), "%x", &decimalValue); 
printf("\nstring=%s, decimalValue=%d",hex.c_str(),decimalValue);
Run Code Online (Sandbox Code Playgroud)

结果是-65536.我通常不会做太多的C++编程,所以任何帮助都会受到赞赏.

谢谢,杰夫

c++ int hex

6
推荐指数
2
解决办法
4万
查看次数

c ++将字符串转换为十六进制

可能重复:
C++将十六进制字符串转换为有符号整数

我已经在谷歌搜索但没有找到任何帮助.所以继承我的问题:我的字符串已经包含十六进制代码,例如:string s1 ="5f0066",我想将此字符串转换为十六进制.我需要将字符串与我在二进制文件中读取的十六进制代码进行比较.

(只需要基本的想法如何转换字符串)5f最好的问候和谢谢.

编辑:获取unsigned char格式的二进制文件信息.所以它的0x5f ...好像有相同格式的字符串

c++ string hex

5
推荐指数
3
解决办法
7万
查看次数

xor在c ++中以字符串形式存储的两个十六进制值

我有两个十六进制值,存储为字符串:

string md5OfPath("a77e0a3e517e0a9d44c3a823d96ca83c");
string guidValue("c3b491e559ac4f6a81e527e971b903ed");
Run Code Online (Sandbox Code Playgroud)

我想对C++中的两个值执行XOR运算.你能告诉我如何执行xor操作吗?

c++ xor

5
推荐指数
1
解决办法
6877
查看次数

boost::lexical_cast 可以将字符串内的十六进制转换为整数吗?

我在本主题中看到C++ 将十六进制字符串转换为有符号整数boost::lexical_cast可以将字符串内的十六进制转换为另一种类型(int、long...)

但是当我尝试这段代码时:

std::string s = "0x3e8";

try {
    auto i = boost::lexical_cast<int>(s);
    std::cout << i << std::endl;        // 1000
}
catch (boost::bad_lexical_cast& e) {
    // bad input - handle exception
    std::cout << "bad" << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

它以错误的词法转换异常结束!

boost 不支持这种从 string hex 到 int 的转换?

c++ boost lexical-cast

5
推荐指数
1
解决办法
904
查看次数

将字符串转换为有符号整型

我想将字符串转换为有符号整数。以下是要求。我已将十六进制值作为字符串存储在缓冲区中。现在我想将该值转换为有符号整数。

buf = "fb869e"将其转换为有符号整型。所以 o/p 应该是 -293218。但是当我尝试使用 strtol 进行转换时,我得到 16483998。那么我应该做什么?

c string int signed

4
推荐指数
1
解决办法
1万
查看次数

将 std::string 数字转换为十六进制数字

我在网上搜索过,但似乎并不能解决我的问题。基本上我有一个std::string包含十六进制内存地址(例如0x10FD7F04)。显然,这个数字是从文本文件中读取并保存为std::string.

我需要将此字符串转换为 int 值,但保留十六进制表示法0x。有什么办法可以做到这一点吗?

c++ hex

3
推荐指数
1
解决办法
8033
查看次数

在C ++中将带有前导“ 0x”的十六进制字符串转换为带符号的缩写?

我找到了将十六进制字符串转换为signed intusing 的代码strtol,但找不到短整数(2个字节)的内容。这是我的代码:

while (!sCurrentFile.eof() )
{
    getline (sCurrentFile,currentString);
    sOutputFile<<strtol(currentString.c_str(),NULL,16)<<endl;
}
Run Code Online (Sandbox Code Playgroud)

我的想法是读取一个具有2个字节宽的值的文件(如0xFFEE),将其转换为带符号的int并将结果写入输出文件中。执行速度不是问题。

我可以找到一些避免该问题的方法,但是我想使用“单行”解决方案,所以也许您可以为此提供帮助:)

编辑:文件看起来像这样:

while (!sCurrentFile.eof() )
{
    getline (sCurrentFile,currentString);
    sOutputFile<<strtol(currentString.c_str(),NULL,16)<<endl;
}
Run Code Online (Sandbox Code Playgroud)

编辑:我已经尝试了十六进制运算符,但这样做之前我仍然必须将字符串转换为整数。

// This won't work as currentString is not an integer
myInt << std::hex << currentString.c_str(); 
Run Code Online (Sandbox Code Playgroud)

c++ string int hex short

2
推荐指数
1
解决办法
5259
查看次数

如何在C++中将字符串向量转换为整数向量?

我有一个字符串向量.需要帮助搞清楚如何将其转换为整数向量,以便能够以算术方式使用它.谢谢!

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main(int argc, char* argv[]) {

    vector<string> vectorOfStrings;
    vectorOfStrings.push_back("1");
    vectorOfStrings.push_back("2");
    vectorOfStrings.push_back("3");

    for (int i=0; i<vectorOfStrings.size(); i++)
    {
        cout<<vectorOfStrings.at(i)<<endl;
    }

    vector<int> vectorOfIntegers;

    //HELP NEEDED HERE
    //CONVERSION CODE from vector<string> to vector<int> 

    int sum;
    for (int i=0; i<vectorOfIntegers.size(); i++)
    {
        sum += vectorOfIntegers.at(i);
    }
    cout<<sum<<endl;
    cin.get();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ string vector

2
推荐指数
2
解决办法
7344
查看次数

C++中十六进制字符串转十进制数

我想在 C++ 中将十六进制字符串转换为十进制数(整数)并尝试使用以下方法:

std::wstringstream SS;
SS << std::dec << stol(L"0xBAD") << endl;
Run Code Online (Sandbox Code Playgroud)

但它0反而返回了2989

std::wstringstream SS;
SS << std::dec << reinterpret_cast<LONG>(L"0xBAD") << endl;
Run Code Online (Sandbox Code Playgroud)

但它-425771592反而返回了2989

但是,当我像下面这样使用它时,它可以正常工作2989并按预期提供。

std::wstringstream SS;
SS << std::dec << 0xBAD << endl;
Run Code Online (Sandbox Code Playgroud)

但我想输入一个字符串并2989作为输出,而不是像0xBAD. 例如,我想输入"0xBAD"并将其转换为整数,然后转换为十进制数。

提前致谢。

c++ string hex decimal

2
推荐指数
1
解决办法
7823
查看次数

C++如何将字符串指定为十六进制

我收到了这个字符串

0x3384BCFD
0x61CEB13B
Run Code Online (Sandbox Code Playgroud)

两者都是字符串类型..

最初我得到了这个

uint32_t iv[2]  = {0xFFFFFFFF,0xFFFFFFAA};
Run Code Online (Sandbox Code Playgroud)

如何分配2串以上为iv[0]iv[1]

我想要的最终结果iv[2]iv[2] = {0x3384BCFD,0x61CEB13B};

谢谢你的帮助!!

c++

0
推荐指数
1
解决办法
184
查看次数

在c ++中添加两个十六进制数字

我正在编写一个程序,它接受两个十六进制数字并将它们转换为十进制形式,并以十进制形式打印出它们的总和.数字的最大长度为10. {submit.cs.ucsb.edu/submission/203504}.我对错误消息感到困惑.问题是数字的最大长度是10.为什么像"ffffffffff"这样的输出有效

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int hexToDecimal(string);
string decimalToHex(int);

int main()
{
    long long hex1, hex2;

std::cout << "Enter first number:" << std::endl;
std::cin >> std::hex >> hex1;

std::cout << "Enter a second number:" << std::endl;
std::cin >> std::hex >> hex2;

if (hex1 >9999999999 || hex2 > 9999999999)

{
    cout << "Addition Overflow" << endl;
}
else
{
    std::cout << "The sum is "<< std::hex << hex1 + hex2 << "." << std::endl;

} …
Run Code Online (Sandbox Code Playgroud)

c++

0
推荐指数
1
解决办法
878
查看次数

标签 统计

c++ ×12

hex ×6

string ×5

int ×3

c ×2

arduino ×1

boost ×1

decimal ×1

lexical-cast ×1

short ×1

signed ×1

vector ×1

xor ×1