Qt报错:myudp.h:4: error: expected identifier or '(' before string constant


#ifndef MYUDP_H
#define MYUDP_H
 
extern "C"
{
    int socket_send();
    int socket_recv();
}
 
#endif // MYUDP_H
 
//首先我是一个 C++的初学者,自学的,通过看视频,查看资料,自己动手去编写代码,今天遇到了不懂得问题,用大侠懂为什么出错吗?
//这是udp.c
#include "myudp.h"
#include<stdio.h>
#include<string.h>
#include<winsock2.h>
int socket_send()
{
   //初始化socket
    DWORD ver;
    WSADATA wsaData;
    ver= MAKEWORD(1,1);//在调用WSAStatrtup要高数windows,我用什么版本的socket
    WSAStartup(ver,&wsaData);//windows要求,只要用socket,第一步必须这样子
    //初始化socket完成
    SOCKET st= socket(AF_INET,SOCK_DGRAM,0);
    struct sockaddr_in addr;
    memset(&addr,0,sizeof(addr));//初始化结构addr
    addr.sin_family=AF_INET;//代表使用一个TCP/IP的地址
    addr.sin_port=htons(8080);//host to net short
    addr.sin_addr.s_addr=inet_addr("127.0.0.1");//代表自己是主机地址
    char buf[1024]={0};
    strcpy(buf,"hello world");
    size_t rc =sendto(st,buf,strlen(buf),0,(struct sockaddr *)&addr,sizeof(addr));
    closesocket(st);
    WSACleanup();
    return rc;
}
int socket_recv()
{
    //初始化socket
     DWORD ver;
     WSADATA wsaData;
     ver= MAKEWORD(1,1);//在调用WSAStatrtup要高数windows,我用什么版本的socket
     WSAStartup(ver,&wsaData);//windows要求,只要用socket,第一步必须这样子
     //初始化socket完成
     SOCKET st= socket(AF_INET,SOCK_DGRAM,0);
     struct sockaddr_in addr;
     memset(&addr,0,sizeof(addr));//初始化结构addr
     addr.sin_family=AF_INET;//代表使用一个TCP/IP的地址
     addr.sin_port=htons(8080);//host to net short
     addr.sin_addr.s_addr=inet_addr(INADDR_ANY);//代表任何的程序都能收到消息
     int rc=0;
     if(bind(st,(struct sockaddr *)&addr,sizeof(addr))>-1)//将端口号和程序绑定
     {
       char buf[1024]={0};
       struct sockaddr_in sendaddr;
       memset(&sendaddr,0,sizeof(sendaddr));
       int len=sizeof(sendaddr);
       rc=recvfrom(st,buf,strlen(buf),0,(struct sockaddr *)&addr,&len);
     }
     closesocket(st);
     WSACleanup();
     return rc;
}

//主函数
#include <iostream>
#include"myudp.h"
using namespace std;
int main(int argc, char *args[])
{
    if(argc>1)
    {
        if(args[1][0])
           socket_send();
        else
           socket_recv();
    }
   return 0;
}
//qt 配置文件
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
LIBS += -lWs2_32
SOURCES += main.cpp \
    udp.c
HEADERS += \
    myudp.h

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值