Ну, у меня проблема с обновлением данных в моем счетчике int x. Я передаю много символов char * для моей функции, например. когда я передаю первый char * длины 8, int x будет 8. Тогда, если я пройду следующий символ * длины 11, x все равно будет удерживать значение 8. Любые советы по его исправлению?Хранение char * размер массива в счетчике int
bool check(const char* word)
{
char checker[LENGTH+1];
int x = sizeof(word);
for(int a=0; a<x; a++) {
checker[a] = word[a];
}
for(int i=0; i < x-1; i++) {
//check if all chars are lower-case
if(checker[i] < 'a' && checker[i] != '\'') {
checker[i] = tolower(checker[i]);
}
}
}
'sizeof (word)' дает вам размер указателя на символ, который в вашем случае кажется 8 байтами. Он не даст вам размер массива. – germanfr
, чтобы добавить к тому, что сказал @germanfr, вам может понадобиться использовать 'strlen()' –
о, я вижу ... Спасибо, ребята, за объяснение! –