Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2015, 18:53   #1
Zakir
Новичок
Джуниор
 
Регистрация: 18.03.2015
Сообщений: 1
По умолчанию Пишу сканер TCP портов загвоздка в const char и Tchar

Вопрос в следующем выдает несоответствие типов: const char не преобразуется в Tchar.
Вот мой код:
Код:
#include "stdafx.h"
#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#include <tchar.h>
#include <windows.h>
#pragma comment(lib, "ws2_32")
 
 
int scan(char *ip, u_short port);
int _tmain(int argc, _TCHAR* argv[])
    
{int start, end, i;
    char *ip;
    struct servent *srv;
    WSADATA wsd;
    char p_name[10] = " ";
 
    WSAStartup(0x0101, &wsd);
 
    ip = argv[1];
    start = atoi(argv[2]);
    end = atoi(argv[3]);
 
    for(i = start; i <= end; i++)
    {
        srv = getservbyport(htons(i), "tcp");
        (srv == NULL)?strcpy(p_name, "unknw"):strcpy(p_name, srv->s_name);
        if(scan(ip, i))
        {
            printf("%s(%d):\t Open\n", p_name, i);
        }
        else
        {
            printf("%s(%d):\t Close\n", p_name, i);
            continue;
        }
    }
}
int scan(char *ip, u_short port)
{
    SOCKET sd;
    WSADATA wsd;
    struct sockaddr_in loc;
    int res = 0;
 
    if(WSAStartup(0x0101, &wsd))
    {
        printf("wsd error\n");
        exit(1);
    }
 
    loc.sin_family  =   AF_INET;
    loc.sin_port    =   htons((u_short)port);
    loc.sin_addr.s_addr = inet_addr(ip);
 
    sd = socket(AF_INET, SOCK_STREAM, 0);
    
    if(connect(sd, (struct sockaddr *)&loc, sizeof(loc)))
        res = 0;
    else
    {
        res = 1;
    }
closesocket(sd);
system("pause");
return res;
}
Zakir вне форума Ответить с цитированием
Старый 18.03.2015, 19:13   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А вы их не мешайте в кучу. Для почти всех функций есть псевдонимы для tchar
p51x на форуме Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как исправить ошибку invalid conversion from const char* to char Ника К Помощь студентам 5 01.06.2012 00:13
С++ Преобразование const Char в const GUID Decoy2k Общие вопросы C/C++ 9 07.02.2012 14:02
Передача параметра const TCHAR sVasilich Общие вопросы C/C++ 5 26.12.2011 11:45
невозможно преобразовать 'const char' в 'char triest Помощь студентам 1 10.12.2011 13:41
преобразование типов char-const char student101 Помощь студентам 8 01.12.2010 20:45