C++怎么在string提取指定位数的字节
如题,比如说,要提取string型变量codon中的前三个字符,然后再提取4-6,然后7-9,以此类推...
如题,比如说,要提取string型变量codon中的前三个字符,然后再提取4-6,然后7-9,以此类推
展开
3个回答
展开全部
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);
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);
2015-08-10 · 知道合伙人数码行家
关注
展开全部
string类型 -- string 不是变量类型,不叫“类型”
string是“类”,英文 class。
sizeof 是 运算符。不能算 class 占内存的大小。
string类 成员函数 .length(), .size() 才能求它的字符串 实际所占的字节数。
string类,它同 char 不一样。char 是变量类型。
string是“类”,英文 class。
sizeof 是 运算符。不能算 class 占内存的大小。
string类 成员函数 .length(), .size() 才能求它的字符串 实际所占的字节数。
string类,它同 char 不一样。char 是变量类型。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用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);
====
[原创回答团]
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);
====
[原创回答团]
参考资料: 原创
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询