gpt4 book ai didi

C++ 将 char 转换为 int

转载 作者:行者123 更新时间:2023-11-28 04:20:43 26 4
gpt4 key购买 nike

抱歉我的英语不好。我需要构建将十六进制转换为 rgb 的应用程序。我有文件 U1.txt 里面的内容:

2 3
008000
FF0000
FFFFFF
FFFF00
FF0000
FFFF00

还有我的代码块应用:

#include <iostream>
#include <fstream>

using namespace std;

int main()
{
int a;
int b;
string color;

ifstream data("U1.txt");
ofstream result("U1result.txt");

data >> a;
data >> b;

for (int i = 0; i < a * b; i++) {
data >> color;
cout << color[0] * 16 + color[1] << endl;
}

data.close();
result.close();

return 0;
}

这给了我 816。但它应该是 0。我认为 color[0] 不是一个整数,而是一个 char,它乘以 ASCII 数字。我用 atoi、c_str() 尝试了很多方法,但它不起作用。 P.S 不建议使用 stoi(),因为我需要用旧的 C++ 做这个作业。提前致谢,祝你有美好的一天;)

最佳答案

您可以使用 std::hex 将十六进制值直接存储在 int 中。

int b;
ifstream data("U1.txt");
data >> std::hex >> b;

关于C++ 将 char 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55498126/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com