问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c++ string类的常用方法有哪些?

发布网友 发布时间:2022-04-15 02:40

我来回答

2个回答

懂视网 时间:2022-04-15 07:01

string主要操作函数 1、新增 www.2cto.com a)set 语法:set key value 解释:把值value赋给key,如果key不存在,新增;否则,更新 [plain] [root@xsf001 ~]# redis-cli redis 127.0.0.1:6379 set user.1.name zhangsan #设置user.1.name 为zhangsan OK redi


string主要操作函数

1、新增

www.2cto.com

a)set

语法:set key value

解释:把值value赋给key,如果key不存在,新增;否则,更新

[plain]

[root@xsf001 ~]# redis-cli

redis 127.0.0.1:6379> set user.1.name zhangsan #设置user.1.name 为zhangsan

OK

redis 127.0.0.1:6379> set user.name 45 #设置user.1.name 为45

OK

b)setnx

语法:setnx key value

www.2cto.com

解释:只insert不update,即,仅仅key不存在时,则设置key的值为value,并返回1,否则返回0 。setnx 是set if not exists 的缩写

[plain]

redis 127.0.0.1:6379> setnx user.1.name zhangsan #user.1.name已经存在,则返回0

(integer) 0

redis 127.0.0.1:6379> setnx user.2.name zhangsan #user.2.name不存在,则设置

(integer) 1

c)setex

语法: setex key seconds value

解释:设置key的过期时间和值。过期时间seconds单位是秒。设置过期时间和值是原子操作,如果redis仅仅当做缓存,这个很命令很有用。

[plain]

redis 127.0.0.1:6379> setex user.2.age 2 14 #把user.2.age 的值设14 并且2秒后过期失效

OK

redis 127.0.0.1:6379> get user.2.age #失效前

"14"

redis 127.0.0.1:6379> get user.2.age #失效后

(nil)

d)mset

语法:mset key value [key value ...]

www.2cto.com

解释:同时设置多个key-value

[plain]

redis 127.0.0.1:6379> mset user.4.name lisi user.4.age 34 #设置user.4.name=lisi,user.4.age=34

OK

redis 127.0.0.1:6379> get user.4.name

"lisi"

redis 127.0.0.1:6379> get user.4.age

"34"

e)msetnx

语法:msetnx key value [key value ...]

解释:所有key都不存在才执行set操作

[plain]

redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.age 34 #key 都设置过,无法再次set

(integer) 0

redis 127.0.0.1:6379> msetnx user.4.name lisi user.4.std 3 #key user.4.name 曾设置过,无法再次设置

(integer) 0

redis 127.0.0.1:6379> msetnx user.4.tech lisi user.4.std 3 #key都没有设置过,可以再次设

(integer) 1

2、查询

a)get

语法:get key

解释:获取key所set的值

www.2cto.com

[plain]

redis 127.0.0.1:6379> get user.4.name #获取user.4.name 的值

"lisi"

redis 127.0.0.1:6379> get user.4.age

"34"

redis 127.0.0.1:6379> get user.4.tech

"lisi"

redis 127.0.0.1:6379> get user.4.std

"3"

b)mget

语法: get key [key]

解释:批量获取key的值。程序一次获取多个值,可以减少网络连接损耗。

[plain]

redis 127.0.0.1:6379> mget user.4.name user.4.age user.4.std #批量获取存在key的值

1) "lisi" #user.4.name的值

2) "34" #user.4.age 的值

3) "3" #user.4.std 的值

redis 127.0.0.1:6379> mget user.4.name user.4.age user.4.std user.4.fri #key user.4.fri 不存在仍然可以返回

1) "lisi"

2) "34"

3) "3"

4) (nil) #user.4.fri 的值

c)getrange

语法:getrange key star end

解释:获取存储在key中value的字串。字符串的截取有star和end决定,字符串的第一个字符编号是0,第二个是1,一次类推;如果是负数,-1是最后一个字符,-2是倒数第二个字符,一次类推。

[plain]

redis 127.0.0.1:6379> get user.4.name

"lisi"

redis 127.0.0.1:6379> getrange user.4.name 0 3 # 0 表示开始

"lisi"

redis 127.0.0.1:6379> getrange user.4.name 1 2

"is"

redis 127.0.0.1:6379> getrange user.4.name 1 -2 #-2 表示倒数第二

"is"

redis 127.0.0.1:6379> getrange user.4.name -1 -2 # end 》 start

""

redis 127.0.0.1:6379> getrange user.4.name 1 66 #end 》 值的长度

"isi"

3、修改

a)getset

语法:getset key value

解释:设置key的值,并返回key的旧值。

[plain]

redis 127.0.0.1:6379> get user.4.name #存在的key

"lisi"

redis 127.0.0.1:6379> getset user.4.name wangwu #把存在的user.4.name设置为wagnwu

"lisi"

redis 127.0.0.1:6379> get user.4.name

"wangwu"

redis 127.0.0.1:6379> get user.5.name #不存在的key

(nil)

redis 127.0.0.1:6379> getset user.5.name lisi

(nil)

redis 127.0.0.1:6379> get user.5.name

"lisi"

b) append

语法:append key value

www.2cto.com

解释:key存在,在旧值的后面追加value;key不存在,直接set

[plain]

redis 127.0.0.1:6379> get user.4.name #存在的key

"wangwu"

redis 127.0.0.1:6379> append user.4.name 01

(integer) 8

redis 127.0.0.1:6379> get user.4.name

"wangwu01"

[plain]

redis 127.0.0.1:6379> get user.6.name #不能存在的key

(nil)

redis 127.0.0.1:6379> append user.6.name jim

(integer) 3

redis 127.0.0.1:6379> get user.6.name

"jim"

c)setrange

语法:setrange key offset value

解释:用value重写key值的一部分,偏移量由offset指定

[plain]

redis 127.0.0.1:6379> get user.4.name #key存在

"wangwu01"

redis 127.0.0.1:6379> setrange user.4.name 0 lisi

(integer) 8

redis 127.0.0.1:6379> get user.4.name

"lisiwu01"

redis 127.0.0.1:6379> setrange user.4.name 9 lisi # offset 》字符串长度

(integer) 13

redis 127.0.0.1:6379> get user.4.name

"lisiwu01x00lisi"

redis 127.0.0.1:6379> setrange user.4.name 8 lisi

(integer) 13

redis 127.0.0.1:6379> get user.4.name

"lisiwu01lisii"

redis 127.0.0.1:6379> get user.6.std #key 不存在

(nil)

redis 127.0.0.1:6379> setrange user.6.std 0 3

(integer) 1

redis 127.0.0.1:6379> get user.6.std

"3"

d)incr

语法:incr key

解释:key中如果存储的是数字,则可以通过incr递增key的值,返回递增后的值。如果key不能存在,视为初始值为0

[plain]

redis 127.0.0.1:6379> get user.7.age #key不存在 ,初始值视为0,

(nil)

redis 127.0.0.1:6379> incr user.7.age

(integer) 1

redis 127.0.0.1:6379> get user.7.age

"1"

redis 127.0.0.1:6379> incr user.7.age

(integer) 2

e)incrby

语法:incrby key increment

解释:用指定的步长增加key存储的数字。如果步长increment是负数,则减

[plain]

redis 127.0.0.1:6379> get user.7.age

"3"

redis 127.0.0.1:6379> incrby user.7.age 15 #增加15

(integer) 18

redis 127.0.0.1:6379> get user.7.age

"18"

redis 127.0.0.1:6379> incrby user.7.fri 18 #key不能存在,原值视为0

(integer) 18

redis 127.0.0.1:6379> get user.7.fri

"18"

redis 127.0.0.1:6379> incrby user.7.age -1 #步长为负

(integer) 17

redis 127.0.0.1:6379> get user.7.age

"17"

f)decr

语法:decr key

解释:递减key保存的数字,如果key不存在,初始值视为0

[plain]

redis 127.0.0.1:6379> get user.7.age

"17"

redis 127.0.0.1:6379> decr user.7.age

(integer) 16

redis 127.0.0.1:6379> decr user.7.num #key 不存在,初始值视为0

(integer) -1

redis 127.0.0.1:6379> decr user.7.num

(integer) -2

g)decrby

语法:decrby key decrement

解释:用指定的步长递减key的值,如果步长decrment是负值,则递增

www.2cto.com

[plain]

redis 127.0.0.1:6379> decrby user.7.num 4 #递减

(integer) -6

redis 127.0.0.1:6379> decrby user.7.num -9 #负值,递增

(integer) 3

注意:递增递减系列的函数,只能对保存的是数字的key操作,不能是字符串

4)删除

语法:del key [key]

解释:删除指定的key,返回删除key的个数

[plain]

redis 127.0.0.1:6379> del user.7.num

(integer) 1

redis 127.0.0.1:6379> get user.7.num

(nil)

redis 127.0.0.1:6379> del user.7.age user.7.fri #删除多个key

(integer) 2

redis 127.0.0.1:6379> mget user.7.age user.7.fri

1) (nil)

2) (nil)

5)其他

语法:strlen key

解释:获取key中所存储值的长度

[plain]

redis 127.0.0.1:6379> get user.1.name

"45"

redis 127.0.0.1:6379> strlen user.1.name #user.1.name 长度

(integer) 2

redis 127.0.0.1:6379> strlen user.8.name #key不存在

(integer) 0

通过上面的大量demo,对string的操作基本总结完毕。

热心网友 时间:2022-04-15 04:09

1、定义和构造初始化string 提供了很多构造函数,可以以多种方式来初始化string字符串。

2、赋值,拼接字符串string重载了 = + += 等多种运算符,让字符串组合拼接更简单。

3、访问字符操作string可以按数组方式,以下标来访问。还可以用at()函数访问指定的字符。

4、可以使用 STL 的接口可以把 string 理解为一个特殊的容器,容器中装的是字符。

5、比较操作 == != > >= < <= compare 等string的比较操作,按字符在字典中的顺序进行逐一比较。

string的特性描述

int capacity()const; //返回当前容量(即string中不必增加内存即可存放的元素个数)。

int max_size()const; //返回string对象中可存放的最大字符串的长度。

int size()const; //返回当前字符串的大小。

int length()const; //返回当前字符串的长度。

bool empty()const; //当前字符串是否为空。

void resize(int len,char c);//把字符串当前大小置为len,并用字符c填充不足的部分。

c++ string类的常用方法有哪些?

1、定义和构造初始化string 提供了很多构造函数,可以以多种方式来初始化string字符串。2、赋值,拼接字符串string重载了 = + += 等多种运算符,让字符串组合拼接更简单。3、访问字符操作string可以按数组方式,以下标来访问。还可以用at()函数访问指定的字符。4、可以使用 STL 的接口可以把 string ...

String常使用的方法有哪些?

String replace(char old ,char new) 将old用new替代 char[] toCharArray 将字符串转换成字符数组 String toLowerCase() 将字符串内的字符改写成小写 String toUpperCase() 将字符串内的字符改写成大写 String valueOf(Boolean b) 将布尔方法b的内容用字符串表示 String valueOf(char ch) ...

string在c语言中是什么意思

String是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符,如"Abc","一天"。在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。 String 对象是 System.Char 对象的有序集合,用于表示字符串。String 对象的值是该有序集合的内容,并且该值是不...

StringUtils工具类常用方法汇总

10.StringUtils.stripStart (String str,String stripChars) 去除str 前端在stripChars中的字符     11.StringUtils.stripEnd (String str,String stripChars) 去除str 后端在stripChars中的字符     12.StringUtils.equals(String str1,String str2) 比...

C++:怎样在string类中完成两个字符串的连接,复制?

完整的string类常用函数多用搜索引擎string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 string类...

C语言中string指令是什么?

string 是 c++的,不是 c 的 stirng 是C++里面一个用来处理字符串的类。包含了字符串处理掉一下常用方法,如:Constructors 构造函数,用于字符串初始化 Operators 操作符,用于字符串比较和赋值 append() 在字符串的末尾添加文本 assign() 为字符串赋新值 at() 按给定索引值返回字符 begin() 返回...

C语言中string.h中用到的字符串处理函数有哪些???

1.函数名: stpcpy 功 能: 拷贝一个字符串到另一个 2.函数名: strcat 功 能: 字符串拼接函数 3.函数名: strchr 功 能: 在一个串中查找给定字符的第一个匹配之处\ 4.函数名: strcmp 功 能: 串比较 5.函数名: strncmpi 功 能: 将一个串中的一部分与另一个串比较, 不管大小写...

c语言中string是什么意思(C语言string是什么数据类型)

这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。c语言字符串表示方法 1.C语言中字符串的表示方式有两种:字符指针和字符数组 2.字符指针表示字符串 从编译器角度分析:例如:char*p="linux";p是字符指针,"linux"字符...

C++ string类insert函数的用法

string &amp;insert(int p0, int n, char c);//在p0处插入n个字符c iterator insert(iterator it, char c);//在it处插入字符c,返回插入后迭代器的位置 void insert(iterator it, const_iterator first, const_iteratorlast);//在it处插入从first开始至last-1的所有字符 void insert(iterator it,...

C语言中有string吗?

C语言中没有string类型。string类型是 C++、java、VB等编程语言中的。 在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string 是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。而在C语言中,C...

string类有哪些常用方法 string的常用方法有哪些 c++ string类的常用方法 string的常用方法及其功能 string对象的常用方法 stringbuffer常用方法 string类的方法 字符串string常用方法 String常用方法
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
拔牙7天过后发现口腔内壁涨白色黏膜,舌头发白两侧有齿痕,拔牙之前好像... 众筹融资平台 债权众筹是什么意思 显示器led背光是什么意思? 16款冬季底妆产品推荐 保湿又持久底妆清单 白茶的功效:三抗三降抗氧化 癌癌症的饮食调理 百度网盘怎么分享给QQ好友? 怎么将百度网盘的文件分享给qq好友 用茶叶水洗脸有什么功效如何正确用茶叶水洗脸 黑暗光年有漏洞吗 黑暗光年幽冥地宫怎么打 黑暗光年的游戏特色 谁有类似 时空猎人 格斗江湖的游戏啊 黑暗光年是单机手游吗。 黑暗光年怎么样,好不好玩 黑暗光年的体验报告 安卓大型游戏推荐 求推荐一款网游,费流量少,而且好玩角色扮演类的 谁知道可以搜索玩家(像时空猎人)的手机网络游戏,格斗,冒险,类的 求一个单机安卓游戏,亲身体验过最好,比如像dnf游戏那种,可以连招的最好,另外好玩的都可以 手机游戏,单机,推荐,本人男,可以操作性强的,不是单纯耗时间。 网络的手机游戏,推荐几个。 不 和光明与黑暗相似的手机游戏 现在找以前玩儿的一部游戏。大体上是第三人称的3D手游,主城很大,暗黑风格,有巫师,法师,骑士,战士 求一个手机游戏,格斗,能升级打怪,或者还有宠物! 有什么游戏像时空猎人一样的,手动的,不要自动打,必须是网游,弱智的游戏别发来 类似黑暗光年纯3D的手机游戏有哪些,最好画面要好看 初夜进不去 是不是我有什么问题? 刚结婚,第一次进不去怎么办?还没进去就射了,是不是早泄啊 急求网站提交地址 盘点叶子楣电影完整版,【免费高清】在线观看百度网盘资源 跪求 鬼媾人 百度云免费在线观看资源 求鬼媾人的讯雷下载地址 string函数用法 小学生一分钟能跑多少米? 人大约一分钟能跑多少米 人最快一分钟可以跑多少米 慢跑一分钟多少米 CSS可以做鼠标点击事件吗? 如何单用css来控制鼠标点击事件 怎么样用CSS处理鼠标点击事件,比如2345网站导航上面的切换,就(网站 M... 请教CSS高手,关于不规则图形上的点击事件 什么是css事件 css鼠标点击背景事件怎么写啊, asp.net中js与css会不会影响点击事件 css的鼠标触发事件怎么写? 这个是点击排列按钮,改变物品排列格局,这个css代码和点击事件是如何写的呢,急急急! VC++ String库里面有什么函数 人造卫星有哪些用途? 人造卫星的七种用途是什么?