Как сделать чтобы scanf игнорировал пробелы между переменными при вводе?
Мне нужно чтобы при вводе 3 чисел между ними и запятой можно было ставить пробелы. При этом чтобы они были integer,чтобы их было ровно 3 и чтобы при вводе числа другого формата или символа выдавало ошибку. Я написал такой код:
#include<stdio.h>
int main()
{
int x,y,z;
printf("RGB: \n");
if(scanf("%d, %d, %d", &x, &y, &z) !=3 || x>255 || x<0 || y>255 || y<0 || z>255 || z<0) {
printf("Input Error.\n");
return 1;
}
printf("#%02X%02X%02X",x,y,z);
return 0;
}
Например, если я введу: 1 , 1 , 1 вывод будет Input Error . Как мне этого избежать?
Вводя, например 1, 1, 1 всё работает как нужно.
Появилась другая проблема. Я дополнил код:
#include<stdio.h>
int main()
{
int x,y,z;
printf("RGB: \n");
if(scanf("rgb(%d , %d , %d)", &x, &y, &z) !=3 || x>255 || x<0 || y>255 || y<0 || z>255 || z<0) {
printf("Error.\n");
return 1;
}
printf("#%02X%02X%02X",x,y,z);
return 0;
}
Как теперь сделать чтобы между rgb и скобками тоже можно было ставить пробелы? Например rgb ( 1 , 1 , 1 )