проверка последнего символа строки в c

Если у меня есть два типа строк как:

const char *str1 = "This is a string with \"quotes escaped at the end\""; 
const char *str2 = "This is a \"string\" without quotes at the end"; 

testFn(str1);
testFn(str2);

int testFn(const char *str)
{
  // test & return 1 if ends on no quote
  // test & return 0 if ends on quote
  return;
}

Я хотел бы протестировать, если строка заканчивается кавычкой "или нет

Каков был бы хороший способ протестировать это?Спасибо

8
задан radar75 7 April 2010 в 22:45
поделиться

3 ответа

Не забудьте убедиться, что ваша строка содержит хотя бы 1 символ:

int testFn(const char *str)
{
    return (str && *str && str[strlen(str) - 1] == '"') ? 0 : 1;
}
10
ответ дан 5 December 2019 в 11:23
поделиться
int testFn(const char *str)
{
  return !str || !*str || str[strlen(str) - 1] != '\"';
}
4
ответ дан 5 December 2019 в 11:23
поделиться
int testFn(const char *str)
{
  if(*str && str[strlen(str + 1)] == '"')
    return 0;
  else
    return 1;
}
1
ответ дан 5 December 2019 в 11:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: