У меня есть массив строк, и я пытаюсь преобразовать все символы в нижний регистр.
void make_lower(char **array)
{
int i = 0;
while (array[i] != NULL){
array[i] = tolower(array[i]);
i++;
}
}
Я знаю, что функция tolower считывает символы по одному, а не всю строку сразу. Вот почему я подумал, что мне нужно использовать такой цикл, но я все равно получаю предупреждения, и функция не работает:
passing argument 1 of ‘tolower’ makes integer from pointer without
a cast [-Werror]
note: expected ‘int’ but argument is of type ‘char *’
assignment makes pointer from integer without a cast [-Werror]
Я был бы очень признателен за вашу помощь.
array
относится к типуchar**
.tolower
ожидает аргумент типаint
, но вы даетеarray[i]
типаchar*
- person Spikatrix   schedule 15.04.2015array[i]
является строкой, вам нужен еще один цикл. - person Some programmer dude   schedule 15.04.2015