Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите с парочкой пустячков, Не могу разобраться с типами... 
:(
    Опции темы
bsa
Дата 21.11.2008, 10:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Romashkaz, а wsprintf воспользоваться не хочешь для преобразования числа в строку?
PM   Вверх
xvr
Дата 21.11.2008, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(Romashkaz @ 20.11.2008,  22:30)
xvr, 

такс, не могу разобраться с WSAGetLastError, можно мне как особо одаренному пример для моей программки? Дело в том, что я ещё пишу дллку и сообщение я могу увидеть только с помощью функции logWrite(сообщение, информация о сообщении)

Пример - logWrite(L"message", LOG_INFO_MESSAGE) или logWrite(serverIP, LOG_INFO_MESSAGE) ... но дело в том, что как я понял что WSAGetLastError выдает номер ошибки, следовательно у неё тип int, а насколько я понял, вывести я могу только wchar_t* ...

Заранее извиняюсь за сырость моих знаний, а скорее всего даже их отсутствия... Но хочу научиться! Учусь сразу на практики... Знаю несколько других языков программирования, но С++ - это что другое, более гибкое, сложное и интересоное! Спасибо smile

Код

wchar_t msg_buf[128];
wsprintf(msg_buf,L"Last Error = %d",WSAGetLastError());
logWrite(msg_buf, LOG_INFO_MESSAGE)

PM MAIL   Вверх
Romashkaz
Дата 21.11.2008, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



bsa, 
xvr,  парни!!! Спасибо большое! Просто не знал, теперь уже знаю  smile 
PM MAIL   Вверх
Romashkaz
Дата 21.11.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



Скажите пожалуйста. а почему не получается так-же, как и с айпишником, ником и паролем сделать и с портом?

Вот код: 
Код

SOCKET        sClient;
    char          szBuffer[1024];
    int           ret;
    struct sockaddr_in server;
    struct hostent    *host = NULL;
    char  szServerName[1024], szMessage[1024];
    char szServerPort[1024];

    sprintf(szServerPort, "%S", serverPort);        
    sprintf(szServerName, "%S", serverIP);
    sprintf(szMessage, "CommandID=[0];LineDevID=[14];CallID=[];Param1=[%S];Param2=[%S];", userAccount, userPassword);

        
    sClient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
    if (sClient == INVALID_SOCKET)
    {
        logWrite(L"Can't create socket", LOG_ERROR_MESSAGE);
        return 1;
    }
    server.sin_family = AF_INET;
    server.sin_port = htons(szServerPort);
    server.sin_addr.s_addr = inet_addr(szServerName);


Ошибка - error C2664: 'htons' : cannot convert parameter 1 from 'char [1024]' to 'u_short'
PM MAIL   Вверх
Romashkaz
Дата 21.11.2008, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



вставл вот это:

Код

    int szServerPort;
    szServerPort = _wtoi(serverPort);[


всё работает))) уря!))) smile

Добавлено через 5 минут и 54 секунды
Такс, теперь насчёт вытаскивания параметров из принятого сообщения...

Код, который написал человек:

Код

std::string paramFromText(const std::string &text, const std::string &name)
{
    std::string::size_type p = text.find(name);
    p = text.find(p, "[");
    if (p != std::string::npos) {
       ++p;
       return text.substr(p, text.find(p, "]") - p);
    }
    return std::string(); //параметр не найден
}
void myFunc()
{
   std::string text = "CommandID=[0];LineDevID=[14];CallID=[];Param1=[jan];Param2=[53]";
   std::string login = paramFromText(text, "Param1");
   std::string password = paramFromText(text, "Param2");
}


Честно говоря не понимаю данной писанины  smile ....

Как такое можно вставить в мой код?  smile 

Подскажите одаренному ....  smile 
PM MAIL   Вверх
Romashkaz
Дата 22.11.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



ап  smile 
PM MAIL   Вверх
Romashkaz
Дата 22.11.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 5.9.2008

Репутация: нет
Всего: нет



Так, разобрался, всё работает...

Вот, что получилось:

Код

#include <string>

std::string paramFromText(const std::string &text, const std::string &name)
{
    std::string::size_type p = text.find(name);
    p = text.find("[", p);
    if (p != std::string::npos) {
        ++p;
        return text.substr(p, text.find("]", p) - p);
    }
    return std::string(); //параметр не найден
}


Немного изменил text.fnid() и всё работает  smile 


P.S. пусть это будет моя личная темка вопросов, буду сюда все свои вопросы писать, все ещё раз спасибо за помощь, ценю!!!  smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0667 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.