发表时间:2017-05-10来源:网络
c语言中单引号和双引号的区别 c语言中单引号和双引号是什么意思 c语言中的单引号和双引号可是有很大区别的,使用之前一定要了解他们之间到底有什么不同,下面小编就给大家详细的介绍一下吧,对此还不是很了解的朋友可以过来参考下。
问题:
从c++文件中将std:string转换为char*后,返回包含IP地址的char*,需要将该字符串char*中的IP地址提取出来;
解决办法:
1. 解决思路:
IP地址最长为12字符+3句点=15字符,一般性表示为192.168.111.111;
可以从第一个字符开始解析,当不是'.'时,将所有字符保存下来,然后把所有保存下来的字符转换为16进制就可以了;
2. 程序如下:
复制代码 代码如下:
typedef struct {
char addr_ipv4[4];
} IPADDR_IPV4;
#include <stdlib.h>
// Function: To extract HEX value of IP address from string expression.
IPADDR_IPV4 parse_IPString(const char *str, u8 strlen) {
IPADDR_IPV4 ipv4;
char tmpBuf[4] = {0};
u8 k;
u8 inx = 0;
u8 j = 0;
// Dprintf("The ch_ip is:%sn", ch_ip);
for (k=0; k<strlen; k++) {
if (str[k] != '.') {
// Dprintf("k-inx: %dn", k-inx);
memcpy(&tmpBuf[k-inx], &str[k], 1);
}
else {
inx = k + 1;
// Dprintf("inx: %d, tmpBuf: %sn", inx, tmpBuf);
ipv4.addr_ipv4[j++] = strtol(tmpBuf, NULL, 10);
memset(tmpBuf, 0, sizeof(tmpBuf));
continue;
}
// Dprintf("tmpBuf: %sn", tmpBuf);
ipv4.addr_ipv4[j] = strtol(tmpBuf, NULL, 10);
}
// Dprintf("ipv4 is: ");
// for (k=0; k<sizeof(ipv4.addr_ipv4); k++) {
// Dprintf("%d", ipv4.addr_ipv4[k]);
// }
// Dprintf("n");
return ipv4;
}
应用如下:
复制代码 代码如下:
char* ch_ip = NULL;
IPADDR_IPV4 ipv4Addr;
ch_ip = (char*)malloc(16);
memset(ch_ip, 0, 16);
// parse IP address
ch_ip = getIPAddr();
// convert IP address from string to HEX expression
ipv4Addr = parse_IPString(ch_ip, strlen(ch_ip));
3. 注意事项:
原来进行字符比较的时候,用的是if (str[k] != ".")而不是if (str[k] != '.'),结果一直不对。
后来反复 查找原因,才知道单引号''和双引号“”的区别:
(1)。含义不同。
单引号引起的一个字符代表一个整数,整数值对应于该字符在ASCII字符集中的序列值;
双引号引起的都是字符串,哪怕只有一个字符也是字符串,双引号引起的一个字符代表一个指向无名数组起始字符的指针;
比如:'.'代表十进制46,十六进制0x2E;
而"."代表指向起始字符为"."的某数组的指针;
(2)。大小不同。
单引号引起的一个字符大小就是一个字节;
双引号引起的一个字符大小是两个字节,因为双引号引起的字符串会在字符串的末尾添加一个0x00作为字符串的结束标识。
在本人的程序中正确取到了IP地址。
问题解决。
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
PHP中的(++i)前缀自增 和 (i++)后缀自增
将视频设置为Android手机开机动画的教程
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
荆门市民卡最新版(i荆门)下载v2.5.6 安卓手机版
67.08MB |资讯阅读
时光手帐官方版下载v6.3.8 安卓版
61.31MB |生活服务
皮皮手账手机版(改名时光手帐)下载v6.3.8 安卓版
61.31MB |系统工具
定格动画工作室app(stop motion studio)下载v25.08.8578 安卓官方中文版
122.84MB |系统工具
宝地贵池新闻客户端下载v1.0.7 安卓版
114.26MB |资讯阅读
杭州办事服务官方版(杭州城市大脑)下载v4.0.2 安卓版
145.38MB |商务办公
生态鹤岗app下载v4.5.4 安卓版
105.42MB |资讯阅读
妈妈来了月嫂手机版下载v9.8.92 安卓最新版
185.21MB |生活服务
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05
密室逃脱求生系列1极地冒险内购破解版下载v700.00.13 安卓无限提示版
其它手游特技摩托前线内购破解版下载v7.9.4 安卓版
其它手游特技摩托前线免验证版下载v7.9.4 安卓无限钻石版
其它手游密室逃脱求生系列2极限密探手游下载v700.00.02 安卓版
其它手游印度汽车驾驶模拟器最新版下载v41 安卓版
其它手游密室逃脱求生系列2极限密探九游最新版下载v700.00.02 安卓版
其它手游密室逃脱生存模拟游戏下载v2.0.2 安卓版
其它手游密室逃脱绝境系列11游乐园手机版下载v700.00.07安卓完整版
其它手游密室逃脱绝境系列3画仙奇缘手机版下载v700.00.09 安卓版
其它手游