接受字符串并"filters out"所有非数字字符和 C 中除第一个点之外的所有字符的函数?



例如:假设字符串为"90.%7"函数会过滤掉%和第二个点。因此,函数将返回"90.7"我对如何退货很灵活。

到目前为止,我所做的一切都没有奏效。悲伤的脸。

谢谢。

编辑:我想好了怎么做。

查看此代码

void filter(const char * input, char * output)
{
int length = strlen(input);
int dot_was_seen = 0;
int i;
int j = 0;
for( i = 0 ; i < length ; i++)
{
if(input[i] >= 0x30 && input[i] <= 0x39)
output[j++] = input[i];
else if(!dot_was_seen && input[i] == 0x2E)
{
output[j++] = input[i]; 
dot_was_seen = 1;
}
}
output[j] = 0;
}
int main()
{
char input[] = "90.%7.";
char output[32];
filter(input, output);
printf(output);
return 0;
}

最新更新