字符串到单个数字

string to individual numbers

我 运行 遇到一个问题,我需要将字符串的每个元素提取到一个整数数组,该字符串只包含没有任何 space 或分隔符的整数值。

这是一个例子。

char input[8]="02320000";

int output[8]={0,2,3,2,0,0,0,0};

我尝试使用 atoi() 并且它将整个字符串作为数字。

字符串字符将为 0-3。

谢谢

char input[8]="02320000";
int output[8];

for(int i = 0; i < 8; i++)
{
     output[i] = input[i] - '0';
}

-'0' 的解释 Convert a character digit to the corresponding integer in C

嗯,你可以遍历字符串的所有字符:

char input[8]="02320000";
char output[8];

for(int = 0; i < 8; ++i)
    output[i] = input[i] - '0';

C 中的字符串只是以所谓的结尾的字符序列 '[=11=]'-终止字节,其值为0。我们使用char数组来存储它们 我们使用字符的 ASCII 值。

注意1 != '1'1是整数,'1'是 第一名。该表示的值为 49(请参阅 ASCII)。如果你想计算 一个字符表示的实数,你必须使用c-'0',其中 c 是有问题的字符。这是可行的,因为在 table 中,值 数字也按数字本身排序:'0' 是 48,'1' 是 49、'2'为50等