2014-11-15 3 views
-2

Как проверить, содержит ли строка конкретный заданный символ?Как проверить, содержит ли строка определенный символ?

+0

strcmp, но его сравнивает целую строку с одиночным символом, поэтому результаты ... – sign3570

+0

Как вы проверяете, является ли один символ конкретным? Как насчет следующего персонажа? – Kevin

+4

['strchr'] (http://www.cplusplus.com/reference/cstring/strchr/) –

ответ

2

Совершенно тривиально, на самом деле. Вот пример фрагмента. Это обнаружит первое вхождение символа в строке.

#include <stdio.h> 
#include <string.h> 
int main() 
{ 
    const char* haystack = "self"; 
    const char needle = 'l'; 
    size_t len = strlen(haystack); 
    size_t i; 
    for(i = 0; i < len; i++) { 
     if(haystack[i] == needle) { 
     fprintf(stdout, "Found char '%c' in '%s' at position %d\n", needle, haystack, (i+1)); 
     break; 
     } 
    } 
    return 0; 
} 
+2

Зачем изобретать колесо? 'strchr' уже существует. –

+3

Важно знать, как реализовать этот базовый алгоритм. –

+0

Пример реализации strchr можно найти здесь [http://clc-wiki.net/wiki/strchr], который имитирует семантику версии библиотеки C. Одно из основных отличий заключается в том, что нулевой ограничитель считается частью строки. –

Смежные вопросы