急求解 使用gethostname() 的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急求解 使用gethostname() 的方法相关的知识,希望对你有一定的参考价值。

C++的LIB中有 gethostname()函数
本人编写如下

#pragma comment( lib, "ws2_32.lib" )

char hostname[256];
int iRet = 0;
memset(hostname, 0, 256);
iRet = gethostname(hostname, sizeof(hostname));
if(iRet != 0 )

logout(LOG_ERR, "get hostname error");


为什么hostname取不到电脑的HOST名呢?
加上#include <winsock.h> 后也取不到.
环境是windows xp / VC++ 2005
求高人解答。
很急, 非常感谢 谢谢。

参考技术A char hostname[256];
int iRet = 0;
WSADATA wsaData;

if (WSAStartup(MAKEWORD(2,1),&wsaData)) //调用Windows Sockets DLL

printf("Winsock无法初始化!\n");
WSACleanup();
return 0;

memset(hostname, 0, 256);
iRet = gethostname(hostname, sizeof(hostname));
if(iRet != 0 )

printf( "get hostname error:%d\n", iRet);

printf("%s\n", hostname);本回答被提问者采纳
参考技术B /////////////////////////////////////有疑问请采纳 /满意请继续追问////////////////////////////////////////////////////////

调用gethostname之前,必须成功调用过 WSAStartup 函数,

适用于网络连接获取主机名
WSADATA wsaData;
WSAStartup(0x202, &wsaData );

char hostname[256];
int iRet = 0;
memset(hostname, 0, 256);
iRet = gethostname(hostname, sizeof(hostname));
if(iRet != 0 )

AfxMessageBox("get hostname error");

else

GetDlgItem(IDC_EDIT1)->SetWindowText(hostname);


当然 你也可以用GetComputerName,来获取本地计算机的名字。

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
char HostName[80];
void main ()

memset(HostName,0,sizeof(HostName));

DWORD i= 80;

GetComputerName(HostName,&i);
printf("%s",HostName);

hibernate 执行update更新语句 结果数据没有更新是怎么回事?求解!!!急急急~!!

/**
* 修改外部资金调拨单信息
* @param capExtFundTransfer
*/
public void updateCapExtFundTransfer(CapExtFundTransfer capExtFundTransfer)
this.getHibernateTemplate().getSessionFactory().getCurrentSession().setFlushMode(FlushMode.AUTO);
this.getHibernateTemplate().update(capExtFundTransfer);

为什么执行成功了 但是数据库没有更新数据 ?? 求解答~~

参考技术A 没写事物 鉴定完毕。this.getHibernateTemplate().这个方法应该是 继承的是hibernateDaosupport 你提问的问题应该改成《spring + hibernate 执行update更新语句 》仔细看看spring的事物处理机制吧。 参考技术B 这么一点代码怎么知道

我估计是没有写事务提交吧追问

else
throw new CAPSYSRuntimeException(" 该信息已经被删除");
capExtFundTransfer.setDueDates(capExtFundTransfer.getDueDates());
capExtFundTransfer.setRecSts(CommonConstant.TRANSFER_STATUS_ENTRY);
capExtFundTransfer.setLastUpdateTime(new Date());
capExtFundTransfer.setBooker(userId);
this.fundTransferDAO.flush();
this.fundTransferDAO.updateCapExtFundTransfer(capExtFundTransfer);

追答

额,你贴的这些代码都没用,就是赋值和调用方法

如果你的查询方法可以用,而其它不行的话,多半是因为事务没有提交

追问

查询可以用 现在修改的时候不可以 没提交进去 你是说配置里面没有配置事务么

追答

这个看你用没有用spring

用了spring的话就要在spring配置声明式事务

没有用spring的话就在数据访问层加上事务开始和提交的代码

本回答被提问者采纳
参考技术C 貌似没有提交事务

以上是关于急求解 使用gethostname() 的方法的主要内容,如果未能解决你的问题,请参考以下文章

用MATLAB按二阶龙格库塔法求解微分方程组,大神速来,急急急

线性方程组求解——C语言程序设计代码,高手们,拜托啦!急急急啊!!!

12、13届noip中的题目……急求解【要过程】

急!matlab用龙格库塔法求解微分方程组

急急急,两个路由器求互相访问,求解??

求解navicat for mysql 对1个G的sql文件导入超级慢怎么处理?在线等!急急急!求指点