将收到的,格式化的UDP char数组分配给C中的无符号整数

时间:2016-08-11 10:02:59

标签: c formatting char udp

我通过UDP接收char数组并对其运行一些格式化操作。工作正常。(形式为dd:123)

我使用“dd”作为我的if案例。现在我需要将123(保存在d中)保存在无符号整数pwmValue0中。

如果有人知道如何做到这一点,我会很高兴,如果你可以帮我一点

度过美好的一天!

recv(serverSocket, msg, sizeof(msg), 0);

        printf("Here is the message: %s\n", msg);

        char *c;
        char *d;
        c = strtok(msg, ":");
        printf("token %s \n", c);   //correct
        d = strtok(NULL,".");
        printf("token1 %s \n",d);   //correct

        if (strcmp(v0, msg) == 0) {
                printf("Motortest\n");
                printf("token2 %s \n",d); //correct
                pwmValue0 = d;  // How can I make this assignment?

2 个答案:

答案 0 :(得分:1)

像这样:

pwmValue0 = strtol(d, NULL, 10);

答案 1 :(得分:1)

strtok返回char*,您说pwmValue0unsigned int,因此您可以使用atoi()

示例:

#include <stdio.h>
#include <stdlib.h> 
int main(void) {
    // your code goes here
    char* p = "123";
    int d;
    d = atoi(p);
    printf("%d",d);
    return 0;
}