MyException - 我的异常网
当前位置:我的异常网» VC/MFC » VS2010中IP Address Control和Edit Control 的使用

VS2010中IP Address Control和Edit Control 的使用方法是不是上面的

www.MyException.Cn  网友分享于:2013-02-20  浏览:203次
VS2010中IP Address Control和Edit Control 的使用方法是不是下面的?
#include <stdio.h> 
#include <string.h>
#include <winsock2.h> 
#include <time.h>
#include <windows.h>
#include <stdlib.h>
#include"targetver.h"
#include "stdafx.h"
#pragma comment(lib,"ws2_32.lib") 
#define MAX_BUFF_LEN 1024
UINT Send_Packet(LPVOID pParam)
{
    WSADATA WSAData; 
    SOCKET sock; 
    DWORD t;
    TCP_HEADER tcpHeader; 
    
char Sendto_Buff[MAX_BUFF_LEN]; //发送缓冲区
    unsigned short check_Buff[MAX_BUFF_LEN]; //检验和缓冲区
    int i,k,Y,X;
X=100;
Y=130;
srand((unsigned) time(NULL));
    k=rand()%(Y-X+1)+X;
    BOOL flag; 
    int rect,nTimeOver;

//填充TCP首部
tcpHeader.th_pro=htons(0xffff);
    tcpHeader.th_edition=htons(0x0100);
tcpHeader.th_size=htons(0x001A);
    tcpHeader.th_num=htons(0);
tcpHeader.th_breed=htons(0);
tcpHeader.th_time=htonl(10);
tcpHeader.th_serial=htonl(i++);
tcpHeader.th_weight=htonl(k);
tcpHeader.th_hold1=htonl(0);
tcpHeader.th_hold2=htonl(0);
tcpHeader.th_protect=htonl(0);

    //填充发送缓冲区
    memset(Sendto_Buff,0,MAX_BUFF_LEN);
memcpy(Sendto_Buff,&tcpHeader,sizeof(TCP_HEADER));
    int datasize=sizeof(TCP_HEADER);
//Get port;
CWnd* GetDlgItem(int nID);
    void GetWindowText(CString& rString);
    CString str;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
const char* Iport=str.GetBuffer(sizeof(str));
//Get IP
BYTE f0,f1,f2,f3;
CString m_addr,s;
    s=m_addr.Format("%d%.d%.d%.d%",f0,f1,f2,f3);
const char* IP =s.GetBuffer(sizeof(s));

    //发送数据报的目的地址
SOCKADDR_IN dest;  
    memset(&dest,0,sizeof(dest));
    dest.sin_family=AF_INET; 
    dest.sin_addr.s_addr=inet_addr(IP); 
    dest.sin_port=htons(atoi(Iport));//atoi 把字符串型转化为整型
    t=timeGetTime();
while(TRUE)
{
if((timeGetTime()-t<1))continue;
    rect=sendto(sock,Sendto_Buff,datasize, 0,(struct sockaddr*)&dest, sizeof(dest)); 
        if (rect==SOCKET_ERROR) 
{  
    printf("send error!:%d\n",WSAGetLastError()); 
    return false; 
}  
       else
   {
   CString m;
   m="Send ok!";

   }
       t=timeGetTime();
}
    closesocket(sock); 
    WSACleanup(); 
    return 1; 
}
红色的是用了一个Edit Control,粉色的是用了一个IP Address Control 是不是这样用啊,怎么会有下面的错误,如果不用const char* Iport=str.GetBuffer(sizeof(str)这句话,会有无法从CString转化为
const char * 
1>e:\实验室\抓包\通信\发送数据\发送数据包\发送数据包\function.cpp(50): error C2440: “初始化”: 无法从“wchar_t *”转换为“const char *”

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有