Из строки, содержащей полный адрес веб-страницы, выделить доменное имя сайта - C (СИ)
Формулировка задачи:
Текст задания:
Из строки содержащей полный адрес веб-страницы ( например, http://www.khai.edu/ru/site/facultet.html ), выделить доменное имя сайта (для данного примера - khai.edu).
#include<stdio.h>// #include<string.h>// #include<stdlib.h>// #include<locale.h>// void spravka();// void error();// прототип функции ошибка int main(int argc, char *argv[])// подключение параметров командой строки { int nach,konec=999,k=1,i=0,j=1;// объявление переменных char *pch,*pch1; setlocale(LC_ALL, "Rus");// включение русского языка printf("\nИсходная строка - доменное имя\n\n"); while(k<argc) { while(i<strlen(argv[j]))// вывод исходной строки { printf("%c",argv[j][i]); i++; } i=0; printf(" - "); if(argv[k][1]=='?') // проверка на ? spravka(); if(argv[k][10] !='.')// проверка на корректность данных error(); pch=strchr(argv[k],'.'); while(pch!=NULL)// поиск точки { nach=pch-argv[k]; pch=strchr(pch+1,'.'); break; } for(int i=0; i<=nach;i++) argv[k][i]='0'; pch1=strchr(argv[k],'/'); while(pch1!=NULL)// поиск / { konec=pch1-argv[k]+1; pch1=strchr(pch1+1,'/'); break; } if(konec==999)// проверка на корректность данных error(); for(int i=nach+1;i<konec-1;i++)// вывод результата { printf("%c",argv[k][i]); } printf("\n"); k++; j++; } return 0; } void error()//функция error { printf("\n\nОшибка: некорректный ввод данных!\nВведите адрес формата - [url]http://www.google.ru/[/url] \n");//вывод ошибки exit(0); } void spravka()//функция справка { printf("Данная программа из строки, содержащий адрес веб-старницы,выделить доменное имя сайта\n");// вывод справки exit(0); }
Решение задачи: «Из строки, содержащей полный адрес веб-страницы, выделить доменное имя сайта»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { char str1[100],str2[100],str3[100]; int i,j=0,k=0; gets(str1); for(i=0;i<strlen(str1);i++) { if (k == 2) { if (str1[i] != '/') { str2[j] = str1[i]; j++; } else { str2[j] = '\0'; break; } } if (str1[i] == '/') k++; } for(i=0;i<strlen(str2);i++) { if (str2[i] == 'w' && str2[i] == 'w') i=4; printf("%c",str2[i]); } printf("\n"); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д