首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将端口号转换为字符串

问将端口号转换为字符串
EN

Stack Overflow用户
提问于 2014-03-26 18:51:17
回答 2查看 2.2K关注 0票数 0

我正在尝试将整数形式的端口号转换为字符串,以便传递给getaddrinfo()调用。我的代码看起来像这样:

代码语言:javascript
复制
#define PORT_SIZE 5

void convert(int port) {
   char service[PORT_SIZE+1];
....
....
    memset(service, '\0', PORT_SIZE+1);
    snprintf(service, PORT_SIZE+1, "%d", port);
...
...
}

由于linux机器上的最大端口大小为65535,因此将数组大小设置为5个字节来存储端口号是否正确?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-03-26 19:38:45

并且在写入的内容之后会自动附加一个终止空字符,因此memset()是多余的。

或者直接给itoa (port, buffer, 10)打电话。

票数 1
EN

Stack Overflow用户

发布于 2014-03-26 19:48:02

我不会依赖这样的限制。也许你的程序能活10年? 20年?在amd128上运行?IPV8?int会有多少位?那会有多少个端口呢?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22658676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档