我无法理解这段代码如何将int格式化为字符串:
length[16];
sprintf(length, "%4d\n", len );
length[5]=0;
UDP_Write( sd, &cli, length, 6);
然后我需要将长度转回int,但是如何?例如,如果len == 512,isn&t; t length将被填充如下:0512x0?如果有一个长度的字符,我怎么把它变回一个int,我不知道它的'内容?
答案 0 :(得分:1)
对于输入int 512
,代码的结果是字符串" 512\n"
。那里没有零或字母,不知道你从哪里得到这个想法。
要将字符串转换为int,您可以使用任何常用方法,例如sscanf
,strtol
等,因为他们可以忽略前导空格。