The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите с C++"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите с C++"
Сообщение от Sampan Искать по авторуВ закладки on 20-Дек-04, 01:24  (MSK)
Очень нужно!

Помогите, пожалуйста, сделать дополнительную проверку в функции.
Догадываюсь, что проблема не стоит выведенного яйца, но, к сожалению, я в этой теме - ни бельмеса.

Есть функция, которая проверяет принятый почтовый адрес на наличие @. Очень нужно добавить в нее проверку на недопустимые символы.
Т.е., в адресе могут быть только символы удовлетвояющие списку:
a-z A-Z 0-9 @ . - _

Собственно функция, которую нужно подправить

void MessageProcessor::verifyaddress(string address)
{
        string::size_type i;
        i = address.find('@');
        if (i == string::npos)
                throw MalformedAddressException();
}

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите с C++"
Сообщение от Sampan Искать по авторуВ закладки on 20-Дек-04, 13:47  (MSK)
Что, ни кто не в состоянии добавить пару строк?

Неужели ни кто не поможет? Печально..

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Помогите с C++"
Сообщение от lamekid Искать по авторуВ закладки(??) on 20-Дек-04, 14:19  (MSK)
Извини писать не буду т.к. проверить не смогу - компилятора нет.
ВСЕ Просто.
создай массив допустимых символов. И Получая входные данные пробегайся по этому массиву сравнивая его элементы с входящими. Оформь как отдельную
ф-ию.  
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Помогите с C++"
Сообщение от ejik emailИскать по авторуВ закладки(??) on 20-Дек-04, 17:16  (MSK)
>Очень нужно!
>
>Помогите, пожалуйста, сделать дополнительную проверку в функции.
>Догадываюсь, что проблема не стоит выведенного яйца, но, к сожалению, я в
>этой теме - ни бельмеса.
>
>Есть функция, которая проверяет принятый почтовый адрес на наличие @. Очень нужно
>добавить в нее проверку на недопустимые символы.
>Т.е., в адресе могут быть только символы удовлетвояющие списку:
>a-z A-Z 0-9 @ . - _
>
>Собственно функция, которую нужно подправить
>
>void MessageProcessor::verifyaddress(string address)
>{
>        string::size_type i;
>        i = address.find('@');
>        if (i == string::npos)
>
>            
>    throw MalformedAddressException();
>}

Используете c++...
Я баловался с Си. В Си строка - это массив символов типа char
Вот рабочая програмка, написанная на Си

#include <stdio.h>
#include <string.h>

int chk_str(char your_string[256]);

int main(void)
{
char your_string[256];
printf("Enter Your string here: ");
scanf("%s",&your_string);
if(chk_str(your_string)==-1)printf("String contains restricted symbols!\n");
else printf("Good string\n");
return 0;
}


int chk_str(char your_string[256])
{
int len,i,j;
char deny_sym[5]={'#','(',')','%','!'};

len=strlen(your_string);
for(i=0;i<len;i++)
{
        for(j=0;j<5;j++)
        {
        if(your_string[i]==deny_sym[j])
                {
                return -1;
                }
        }
}
return 0;
}

Я ее так, для примера написал, чтобы принцип понятен был. А так же проверил на работоспособность на FreeBSD 5.2.1, скомпилировав ее с помощью g++ (а потом и с помощью gcc). Работает, однако, наверняка в ней много недоделок по линии безопасности!

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру