我需要接受一个参数(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];但是...
您可以通过char *
功能将int
转换为uint16_t
(因此,转换为atoi()
):
#include <stdlib.h>
[...]
uint16_t PORT = atoi(argv[2]);
您需要使用the strtoul()
function,一种快速的方法是这样的: