C++怎么在string提取指定位数的字节

如题,比如说,要提取string型变量codon中的前三个字符,然后再提取4-6,然后7-9,以此类推... 如题,比如说,要提取string型变量codon中的前三个字符,然后再提取4-6,然后7-9,以此类推 展开
 我来答
aslan_txd
2010-08-31 · 超过13用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:38.6万
展开全部
string结构有一个成员函数叫substr()可以用它实现。
basic_string::substr
basic_string substr(size_type _Off = 0,size_type _Count = npos) const;
功能:从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。
参数
_Off 所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0.
_Count 复制的字符数目
返回值 一个子字符串,从其指定的位置开始

举一个例子吧
string str = "codoncodon";
所以提取前三个字符,可以用 string str1 = str.substr(0,3);
提取4-6 string str2 = str.substr(4,3);
然后7-9 string str3 = str.substr(7,3);
day忘不掉的痛
2015-08-10 · 知道合伙人数码行家
day忘不掉的痛
知道合伙人数码行家
采纳数:62646 获赞数:223939
本人担任公司网络部总经理多年,有充足的网络经验、互联网相关知识和资讯。

向TA提问 私信TA
展开全部
string类型 -- string 不是变量类型,不叫“类型”
string是“类”,英文 class。
sizeof 是 运算符。不能算 class 占内存的大小。
string类 成员函数 .length(), .size() 才能求它的字符串 实际所占的字节数。
string类,它同 char 不一样。char 是变量类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FrankHB1989
2010-08-31 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3117万
展开全部
使用string的成员函数substr,原型为:
string substr(size_type index = 0, size_type length = npos) const;。
第一个参数为起始字符数(0为第一个字符),第二个参数指定子串长(若省略则表明子串到字符串结尾)。
例如:
string codon = "1234567890";
string sub1 = codon.substr(0,3);
string sub2 = codon.substr(3,3);
string sub4 = codon.substr(6,3);
注意substr返回一个string的实例。
也可以按C风格字符串进行操作,直接从string复制字符到指定char数组:
string codon = "1234567890";
char sub1[4] = {0};
char sub2[4] = {0};
char sub3[4] = {0};
memcpy(sub1, codon.c_str(), 3);
memcpy(sub2, codon.c_str() + 3, 3);
memcpy(sub3, codon.c_str() + 6, 3);
====
[原创回答团]

参考资料: 原创

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式