Удалить текст из строки после определенного символа в C


Я читаю строки из файла, строки выглядят так:

89f81a03eb30a03c8708dde38cf:000391716
Дело в том, что я хочу удалить все после : (включая :). Я перепробовал все, что мог найти в интернете, но они, кажется, используют const char, а строки - char указатели.
1 2

1 ответ:

Вы можете использовать strchr:

char str[] = "89f81a03eb30a03c8708dde38cf:000391716";
char *ptr;

ptr = strchr(str, ':');
if (ptr != NULL) {
    *ptr = '\0';
}