LINUX.ORG.RU

Работа со строками


0

0

Народ, подскажите какиенить функции(и как их пользовать), которыми можно находить позицию заданного символа в строке и удалять определенное количество символов в строке.

anonymous

Для Perl-a substr perldoc -f substr

anonymous
()

Добрый день.

Для C:

Поиск символа в строке - char *strchr(const char *s, int c); Возвращает указатель на позицию символа (не номер!).

Удалять часть символов из строки - я просто циклом делаю:

for(i=0;(start+i)<=strlen(str);i++) str[start+i]=str[finish+i];

Переменные start,finish,str - надеюсь, понятно.

P.S. Код не тестил, ответственности не несу.

С уважением, Илья.

OrlovIO
()

"удалять символы в строке"... странного хочешь... это-ж не что-то саморастягивающеесе, С-строка кончается терминатором --- '\0' или просто 0, посему где тебе нужен терминатор туда и ставь, другое дело, что, очевидно, память из-под строки при этом не освободится... хотя это наверное очевидно (должно быть :)

HTH

anonymous
()

***

Для STL:

string s = "QWERTY";

> находить позицию заданного символа в строке

string::size_type p = s.find('W');
if ( p != string::npos )
{
// ...
}

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

s.erase(p, 5);

hbee ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.