C_Kurs_Lekt / DOC_RAZNOE / Рассмотрим пример работы со строками
.pdfРассмотрим пример работы со строками
1)
str=strstr(str1,c);
/* strstr(str1,c) - находит позицию первого вхождения строки с в строке str1 */
memmove(str,str+1,strlen(str));
memmove – перемещает фрагмент памяти (куда, откуда, длина)
"Eta testovayastroka budet obrabatyvatsa",
Этот фрагмент сдвигаем на один символ влево. "Eta testovaya-"
<<=== " stroka budet obrabatyvatsa"
После «сдвига назад» символ ’-’ - «исчезает»
"Eta testovaya stroka budet obrabatyvatsa",
2)Для замены одного фрагмента строки на другой:
1)Вырезаем фрагмент строки – до заменяемого фрагмента
2)«Добавляем» новый фрагмент
3)«Добавляем» фрагмент строки после заменяемого фрагмента
Eta testovaya stroka budet obrabatyvatsa posledovatelnost
1)Eta testovaya
2)Eta testovaya + posledovatelnost = Eta testovayaposledovatelnost
3)Eta testovayaposledovatelnost + budet obrabatyvatsa =
Eta testovayaposledovatelnostbudet obrabatyvatsa
3) Найти в какой позиции находится символ 'b'
for (n=0; stemp[n] != 'b' ; n++);
1) n – номер позиции. «Стартуем» с нулевой и продвигаемся по строке, пока текучий символ не станет равным 'b' - (stemp[n] != 'b' )
4) Разбить обработанную строку на слова
Для разбивки будем использовать встроенную функцию strtok str = strtok(stemp," "); // «вырезаем первое слово» while (str != NULL) {
printf("%s\n", str);
str = strtok(NULL," "); // продолжаем разбивать
}