字符串到单个数字
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等
我 运行 遇到一个问题,我需要将字符串的每个元素提取到一个整数数组,该字符串只包含没有任何 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等