сначала я хочу сказать, что я довольно новичок в C. У меня проблема с функцией strpbrk.strpbrk не ведет себя так, как ожидалось
Моя функция получает строку. Если эта строка содержит «¼», она должна что-то сделать, если она содержит «¾», она должна делать что-то еще.
static char* format_date_string3(char *string) {
printf("Found: %s\n", strpbrk(string, "¼"));
if (strpbrk(string, "¼") != NULL) {
//do something
} else if (strpbrk(string, "¾") != NULL) {
//do something else
}
}
Я добавил printf для целей отладки.
Проблема заключается в том, что выход «Найдено: ¼», если строка была «¼» и «Найдено: ¾», если строка была «¾». Но для «¾» я ожидал, что вывод будет NULL, поскольку искомый шаблон отсутствует в строке. Почему это не так? Как я могу его изменить?
Возможно ли, что ¼ не являются «нормальными» символами?
Благодарим за помощь!
Эта часть кажется противоречивой: «Найдено: ¼», если строка была «¼» и «Найдено: ¾», если строка была «¾». Но для «¾» я ожидал, что выход будет NULL, так как найденный шаблон не находится в строке « – D3Hunter