Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

C_Kurs_Lekt / C_II_семестр / 08-1_пример работы со строками

.pdf
Скачиваний:
10
Добавлен:
13.02.2016
Размер:
25.9 Кб
Скачать

#include <stdio.h> //Лысый Д.А. пример работы со строками

#include <string.h> #include <stdlib.h> #include <conio.h>

void main() {

char *str, str1[]="Эта тестоваястрока будет обрабатываться", *stemp;

char *c="-", *c1="строка", *c2="последовательность"; int n;

clrscr();

printf("Исходная строка ===> %s\n", str1);

// удаление 1 символа начиная с 1 го символа в "с" str=strstr(str1,c); memmove(str,str+1,strlen(str));

printf("строка после копирования ===> %s\n", str1);

// замена в строке str1 последовательности c1 на c2 stemp=(char *) calloc(strlen(str1)+strlen(c2)+1, 1); printf("stemp ==> %s\n",stemp); str=strstr(str1,c1); strncpy(stemp,str1,strlen(str1)-strlen(str)); printf("stemp ==> %s\n",stemp); memcpy(stemp+strlen(stemp),c2,strlen(c2)+1); printf("stemp ==> %s\n",stemp);

// memcpy(stemp+strlen(stemp),str+strlen(c1),strlen(str)+1); memcpy(stemp+strlen(stemp),str+strlen(c1),strlen(str)-

strlen(c1)+1);

printf("stemp ==> %s\n",stemp);

for (n=0; stemp[n] != '\б' ; n++);

printf( "Первое б находится в %d позиции\n", n+1);

// разбитие на строки, разделитель пробел str = strtok(stemp," ");

while (str != NULL) { printf("%s\n", str); str = strtok(NULL," ");

}

}

/* Резудьтаты работы программы Исходная строка ===> Эта тестоваястрока будет обрабатываться

строка после копирования ===> Эта тестовая строка будет обрабатываться

stemp ==>

stemp ==> Эта тестовая

stemp ==> Эта тестовая последовательность

stemp ==> Эта тестовая последовательность будет обрабатываться Первое б находится в 33 позиции Эта тестовая

последовательность

будет обрабатываться */