计算字符串/数组元素的十六进制,然后将其转换为十进制
Calculating the hexadecimal of the elements of a string/array and then convert these to decimal
我有一个用wxwidgets设计的UI,我在其中输入用户名。我想要所有元素的十六进制和,然后将其转换为十进制。这就是我所做的:
wxArrayString TextAlia = wxT("");//declared global
TextBox1 = new wxTextCtrl(this, TEXT_BOX1, wxT(""), wxPoint(300, 10), wxSize(100, 20), wxTE_PROCESS_ENTER | wxTE_PROCESS_TAB | wxTE_LEFT, wxDefaultValidator, wxT("WxTextBox"));
void MyFrame::OnGenerateKey(wxCommandEvent& WXUNUSED(event)) {
int i;
char name[i];
TextAlia = TextBox1->GetValue();
i = strlen(TextAlia);
for (i = 0; i < strlen(TextAlia); i++) {
char buffer[3];char Temp[3];
_itoa( name[i], buffer, 16 );
}
这就是我试图做的,请帮帮我。
现在id所做的是:
int lengtharray = sizeof(name)/sizeof(name[0]);
for (int j=0; j<lengtharray; j++)
{
name[j] = ?//i need to write something here so that the name[1] is changed to 45 for
capital "E"
// avariable may be of type hex just like sum that keeps on incrementing the value
}
如果我理解正确,您需要求和字符串中字符的数字表示。我不熟悉wxwidgets,我认为它使用自己的字符串类型,但我将展示如何使用c样式字符串和c++std::string
s。首先要注意的是,char
只是一个数字类型,至少可以存储0到127的数字。你可以把它直接用在一个和里。只是当你把它打印出来的时候,它就会变成可识别的字母。
我在这里粘贴了一个简单的程序:http://ideone.com/dqIE5其中有两个函数显示如何循环字符串中的字符并求和。在这两种情况下,您只需要在字符上进行循环,添加到一个运行的和中。
您显示的代码中也有几个错误。第一:
int i;
char name[i];
这里有两个错误。您尝试在不初始化i
的情况下使用它(给它一个值)。你预计name
有多大?其次,数组的大小必须是一个常数,在编译时已知。所以你可以做一些类似的事情
const int i = 10;
char name[i];
另一个可能的错误:
i = strlen(TextAlia);
for (i = 0; i < strlen(TextAlia); i++) {
将i
设置为TextAlia
的长度,然后立即将其设置为0
。然后反复呼叫strlen
。也许你想要:
int length = strlen(TextAlia);
for (i = 0; i < length; ++i) {
i = strlen(TextAlia);
int sum = 0;
for (int j = 0; j < i; ++j) {
sum += TextAlia[j]
}
char* a = new char[40];
sprintf(a, "%d", sum); // decimal value
sprintf(a, "%x", sum); // hexadecimal value
相关文章:
- visual在c++中将十进制数转换为二进制数
- C++十进制到二进制,如何转换
- C++从二进制转换为十进制数
- 我编写了代码将十进制分数转换为其二进制等效数.它编译得很好,但在执行时挂起
- 将分数转换为十进制数并对其进行排序
- 将字符串(可以是十进制字符串或十六进制字符串)转换为整数C++
- 十进制到二进制转换器 c++
- 如何在C ++中将二进制字符串128位转换为十进制字符串?
- 将二进制转换为十进制,我如何要求用户仅输入二进制
- 我正在尝试编写将 ASCII 转换为十进制、添加并转换回 ASCII 的软件
- 如何将QBytearrayBCD转换为十进制QString表示
- C++:二进制到十进制w/转换过程的外观
- 十六进制到十进制转换的未清理答案
- 如何在C++中将二进制编码十进制转换为 int
- 如何将带有浮点数的字符串转换为十进制?
- 如何使用链表将负十进制数转换为二进制?
- 将字符指针中的十六进制转换为十进制
- 使用 std::hex 将十六进制转换为十进制
- 十进制,包括负到 32 位二进制转换器
- 使用动态比特斯转换十进制数字