Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
LeviathanFly
Сообщений: n/a
#1

Вывести части строки до определенных символов - C++

17.07.2014, 09:58. Просмотров 395. Ответов 1
Метки нет (Все метки)

Помогите мне с задачкой. Дана строка, нужно разделить ее на несколько частей до определенных символов (или не обязательно именно так). Вот задачка, чтобы вам было понятней:
Кликните здесь для просмотра всего текста
In the early nineties, the World Wide Web (WWW) was invented. Nowadays, most people think that the WWW simply consists of all the pretty (or not so pretty) HTML-pages that you can read with your WWW browser. But back then, one of the main intentions behind the design of the WWW was to unify several existing communication protocols.

Then (and even now), information on the Internet was available via a multitude of channels: FTP, HTTP, E-Mail, News, Gopher, and many more. Thanks to the WWW, all these services can now be uniformly addressed via URLs (Uniform Resource Locators). The syntax of URLs is defined in the Internet standard RFC 1738. For our problem, we consider a simplified version of the syntax, which is as follows:

<protocol> "://" <host> [ ":" <port> ] [ "/" <path> ]

The square brackets [] mean that the enclosed string is optional and may or may not appear. Examples of URLs are the following:

http://www.informatik.uni-ulm.de/acm
ftp://acm.baylor.edu:1234/pub/staff/mr-p
gopher://veryold.edu

More specifically,

<protocol> is always one of http, ftp or gopher.

<host> is a string consisting of alphabetic (a-z, A-Z) or numeric (0-9) characters and points (.).

<port> is a positive integer, smaller than 65536.

<path> is a string that contains no spaces.

You are to write a program that parses an URL into its components.


Input

The input starts with a line containing a single integer n, the number of URLs in the input. The following n lines contain one URL each, in the format described above. The URLs will consist of at most 60 characters each.


Output

For each URL in the input first print the number of the URL, as shown in the sample output. Then print four lines, stating the protocol, host, port and path specified by the URL. If the port and/or path are not given in the URL, print the string <default> instead. Adhere to the format shown in the sample output.

Print a blank line after each test case.


Sample Input

3
ftp://acm.baylor.edu:1234/pub/staff/mr-p
http://www.informatik.uni-ulm.de/acm
gopher://veryold.edu

Sample Output

URL #1
Protocol = ftp
Host = acm.baylor.edu
Port = 1234
Path = pub/staff/mr-p

URL #2
Protocol = http
Host = www.informatik.uni-ulm.de
Port = <default>
Path = acm

URL #3
Protocol = gopher
Host = veryold.edu
Port = <default>
Path = <default>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.07.2014, 09:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывести части строки до определенных символов (C++):

Удаление из строки определенных символов - C++
Подскажите плиз функцию которая удаляет с строки символы. Например ввели символ А и с строки str удалилися все символы А... Если...

Считать текст из файла и записать в другой только строки, не содержащие определенных символов - C++
Всем привет, кто может помочь с решением данной задачи, буду очень благодарен. &quot;Написать программу, которая считывает текст из файла и...

Удалить конец строки символов. Ввести кол-во удаляемых символов , вывести результат ,String ,задачка,С++ - C++
Удалить конец строки символов. Ввести количество удаляемых символов , вывести результат на печать . Помогите плиз с задачкой. тема :...

Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. - C++
Дана строка, состоящая из M попарно различных символов. Вывести все перестановки символов данной строки. Ввод В первой строке файла...

Отбросить от строки последние N символов и вывести оставшуюся часть строки - C++
:help: 1. Лабораторная работа №1. Ввод-вывод в стандартные файлы. Задание: разработать программу с использованием базовых системных...

Вывести строки символов на экран - C++
Не получается вывести строки символов на экран, нужна помощь более опытных: #include&lt;iostream&gt; using namespace std; #define N 255 ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ilot
Модератор
Эксперт С++
1809 / 1166 / 227
Регистрация: 16.05.2013
Сообщений: 3,071
Записей в блоге: 5
Завершенные тесты: 1
17.07.2014, 10:22 #2
Может эта функция вам поможет http://www.cplusplus.com/reference/cstring/strtok/
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2014, 10:22
Привет! Вот еще темы с ответами:

Вывести четные числа из строки символов - C++
Дана строка символов, состоящая из произвольных десятичных цифр, разделенных пробелами. Вывести четные числа этой строки. С++ 6ая...

Найти символ первой строки, который первым не совпал с одним из символов второй строки. Вывести слово, в которое входит этот символ - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Печать определенных символов - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; //Слова текста из малых латинских букв записаны не менее чем через один...

Вывести все строки файла, содержащие более 30 символов - C++
Имеется текстовый файл.Вывести все строки содержащие более 30 символов Ребята помогите решить лабу,на кону моя сессия)В С++


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru