在QT Creator中,用socket编写了一个Server.cpp的程序,
编译会出现
错误,说
error: ‘write’ was
not declared in this scope
error: ‘close’ was not declared in this scope
我把头
文件包含进来了的!
我把这个文件保存为.c的文件,然后在终端用gcc -o server sever.c就
没有上面的错误,但是如果用.cpp的文件,即gcc -o server server.cpp就会有错误,我有点儿费解,
问题就是个后缀的问题,希望各位大侠解释解释
谢拉!
报错的代码块:
- while (1)
- {
- //阻塞服务器,直到客户机建立连接
- sin_size=sizeof(struct sockaddr_in);
- if ((new_fd=accept(sockfd,(struct sockaddr*)(&client_addr),(socklen_t*)&sin_size))==-1)
- {
- fprintf(stderr,"Accept error :%s \a\n",strerror(errno));
- exit(1);
- }
- fprintf(stderr,"Server get connection from %s:\n",inet_ntoa(client_addr.sin_addr)); //IP地址
- if (write(new_fd,hello,strlen(hello))==-1)//这句报错
- {
- fprintf(stderr,"Write Error :%s \a\n",strerror(errno));
- exit(1);
- }
- close(new_fd);//这句报错
- }