在C++/Windows中,如何获取我所在计算机的网络名称?

Isa*_*ses 7 c++ networking windows-xp windows-nt

在C++ Windows(XP和NT,如果它有所作为)我正在研究的应用程序中,我需要获取与执行代码的计算机相关联的网络名称,以便我可以从C:转换本地文件名filename.ext到\\network_name\C $\filename.ext.我该怎么做?

或者,如果有一个函数只会进行我所描述的转换,那就更好了.我查看了WNetGetUniversalName,但这似乎不适用于本地(C盘)文件.

Pas*_*cal 9

有多种选择:

一个.按照Stu的建议使用Win32的GetComputerName().
示例:http ://www.techbytes.ca/techbyte97.html

b.使用Winsock下的函数gethostname().此功能是跨平台的,如果您的应用程序将在除Windows之外的其他平台上运行,则可能会有所帮助.
MSDN参考:http ://msdn.microsoft.com/en-us/library/ms738527(VS.85).aspx

c.使用函数getaddrinfo().
MSDN参考:http://msdn.microsoft.com/en-us/library/ms738520(VS.85).aspx