谁帮我看看这个代码,总出错,本来开头是static char THIS_FILE[] = _FILE_;八个error,左右_删了后变

关于聊天室的//ClientSocket.cpp:implementationfile//#include"stdafx.h"#include"Example2_Chat... 关于聊天室的
// ClientSocket.cpp : implementation file//
#include "stdafx.h"
#include "Example2_ChatRoom.h"
#include "ClientSocket.h"
#include "Example2_ChatRoomDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = FILE;
#endif

/////////////////////////////////////////////////////////////////////////////// CClientSocket
CClientSocket::CClientSocket()
{
m_aSessionIn=NULL;
m_aSessionOut=NULL;
m_sfSocketFile=NULL;
m_bInit=false;
m_bClose=false;
}

CClientSocket::~CClientSocket()
{
if(m_aSessionIn)
delete m_aSessionIn;
if(m_aSessionOut)
delete m_aSessionOut;
if(m_sfSocketFile)
delete m_sfSocketFile;
}

#if 0
BEGIN_MESSAGE_MAP(CClientSocket, CSocket)
//{{AFX_MSG_MAP(CClientSocket)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0

/////////////////////////////////////////////////////////////////////////////// CClientSocket member functions
void CClientSocket::OnReceive(int nErrorCode)
{
CSocket::OnReceive(nErrorCode);
do
{
CMessg temp;
temp.Serialize(*m_aSessionIn);
m_dlg->m_sMsgList+=temp.m_strText;
m_dlg->SetDlgItemText(IDC_SHOWTEXT,m_dlg->m_sMsgList);

if(temp.m_tag==1&&m_dlg->m_willchating==FALSE)
//如果有声音过来并且本机的声音设备已经准备好了则首先在本机发出声音
{
memcpy(m_dlg->m_sound.m_cBufferOut,temp.m_buffer,MAX_BUFFER_SIZE);
}
int linenum=((CEdit *)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->GetLineCount();
((CEdit *)(m_dlg->GetDlgItem(IDC_SHOWTEXT)))->LineScroll(linenum);
if(!m_dlg->m_bClient)
{
for(POSITION pos=m_dlg->m_connectionList.GetHeadPosition();pos!=NULL;)
{
CClientSocket * t = (CClientSocket*)m_dlg->m_connectionList.GetNext(pos);
if(t->m_hSocket!=this->m_hSocket)
{
t->SendMessage(&temp);
}
}
}
}
while (!m_aSessionIn->IsBufferEmpty());
}

void CClientSocket::Init(CExample2_ChatRoomDlg * dlg)
{
m_sfSocketFile= new CSocketFile(this);
m_aSessionIn=new CArchive(m_sfSocketFile,CArchive::load);
m_aSessionOut=new CArchive(m_sfSocketFile,CArchive::store);
m_bClose=false;
this->m_dlg=dlg;
}
BOOL CClientSocket::SendMessage(CMessg * msg)
{
if (m_aSessionOut != NULL)
{
msg->Serialize(*m_aSessionOut);
m_aSessionOut->Flush();
return TRUE;
}
else
{
//对方关闭了连接
m_bClose=true;
CloseSocket();
m_dlg->CloseSessionSocket();
return FALSE;
}
}

void CClientSocket::CloseSocket()
就先放这么多吧
展开
 我来答
arongustc
科技发烧友

2012-10-20 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:6530万
展开全部
错误信息是什么
更多追问追答
追问
(13) : error C2065: '_FILE_' : undeclared identifier
(13) : error C2440: 'initializing' : cannot convert from 'int' to 'char []'
There are no conversions to array types, although there are conversions to references or pointers to arrays
Error executing cl.exe.

ClientSocket.exe - 2 error(s), 0 warning(s)
追答
static char THIS_FILE[] = __FILE__; ,这里FILE前后各有2个下划线你有没有?
ry0117
2012-10-31 · TA获得超过128个赞
知道答主
回答量:38
采纳率:0%
帮助的人:26万
展开全部
这个那啥__FILE__是C语言中的一个宏定义吧,需要一个头文件的,加上头文件应该就可以了,具体是哪个头文件我就不记得了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式