gpt4 book ai didi

c++ - 额外的数字被附加到字符串,不知道为什么?

转载 作者:太空宇宙 更新时间:2023-11-04 14:51:25 24 4
gpt4 key购买 nike

Number(string binary)
{
int raw_string_int[size];
char raw_string_char[size];
strcpy(raw_string_char,binary.c_str());
printf("Raw String is %s",raw_string_char);

for (int i=0;i<size;i++)
{

raw_string_int[i] = int(raw_string_char[i]);
printf("%i\n",int(raw_string_char[i]));
if (raw_string_int[i] != 0 || raw_string_int[i] != 1)
{
printf("ERROR NOT A BINARY NUMBER\n");
exit(0);
}
}

您好,我在命令提示符下以二进制形式输入 0001,但 raw_string_char 被附加了两个额外的数字。谁能向我解释这是为什么?回车是作为字符引入的吗?

这是我在命令提示符下得到的:

./test
0001
Raw String is 000148
ERROR NOT A BINARY NUMBER

最佳答案

您在第一个 printf 中忘记了“\n”。 48 来自第二个 printf,是将第一个“0”(ASCII 0x30 = 48)转换为 int 的结果。

要将文本 0 或 1 转换为相应的整数,您需要减去 0x30。

关于c++ - 额外的数字被附加到字符串,不知道为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3738627/

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