2016-06-20 4 views
2

Я читаю строки из файла, строки выглядят следующим образом:Удалить текст из строки после определенного символа в C

89f81a03eb30a03c8708dde38cf:000391716 

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

+0

Удалить из где? Если он находится в строке (char array), просто замените '': ''на' '\ 0''. –

+0

Сохраните строку в изменяемом массиве символов. Затем используйте цикл для повторения каждого символа по одному, как только вы достигнете целевого символа, поместите нулевой символ в этот слот. –

+0

Строки - массивы символов, забыли добавить это, извините. –

ответ

6

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

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

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

Спасибо! Это сработало. –

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