如何获取argv并将其转换为uint16_t

问题描述 投票:0回答:2

我需要接受一个参数(argv [2])并将其转换为uint16_t类型。我怎么能得到这个?我在参数中放置了PORT,因此我需要在uint16_t中进行转换,我尝试过此操作:]

uint16_t PORT;

PORT = argv[2];

但是当我这样做的时候>

servaddr.sin_port = htons(PORT) 

我知道

warning: assignment makes integer from pointer without a cast

我需要接受一个参数(argv [2])并将其转换为uint16_t类型。我怎么能得到这个?我在参数中放入了PORT,所以我需要在uint16_t中进行转换,我尝试过这样: PORT = argv [2];但是...

c sockets argv
2个回答
2
投票

您可以通过char *功能将int转换为uint16_t(因此,转换为atoi()):

#include <stdlib.h>

[...]

uint16_t PORT = atoi(argv[2]);

0
投票

您需要使用the strtoul() function,一种快速的方法是这样的:

© www.soinside.com 2019 - 2024. All rights reserved.