C++ char 转 string
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ char 转 string相关的知识,希望对你有一定的参考价值。
我做的是遗传算法里面的解码问题的
GA.m_Population[i].szChromosome(个体.染色体(是一个长度为8的char))
int getTenValue(string s,iStart,iLength);
现在必须通过上面这个函数取得它的十进制值,请各位帮忙下
string s = char_array_or_pointer;
2. 实现函数
int getTenValue(string s,iStart,iLength)
int sum = 0;
for(int i=iStart; i<iStart+iLength; ++i)
int ival = s[i]; //A->65, B->66, 依此类推
sum += (ival * pow(10, iLength-1-(i-iStart))); //pow是自带函数,注意加上<cmath>
return sum;
追问
错了,应该是这样
int getTenValue(string s,int iStart,int iLength)
int i;
int iRet=0;
string strTemp = s.substr(iStart,iLength);
for (i=0;i<iLength;i++)
if (strTemp.at(i) != '0')
iRet = iRet + (int)pow(2,i);
return iRet;
忘了说了,那个s只有0 1字符串而已,因为我在弄的是遗传算法
这个没看懂,里面的参数是个啥?追问
哦,这个不是函数啦,是一个char; GA指一个类,m_Population[i](一个结构体)是它的一个属性,szChromosome是结构体里一个长度为8的char
现在就是必须要通过这个函数将其转换成十进制数
所以要将szChromosome转换成string再代进函数里面去
哦~
以上是关于C++ char 转 string的主要内容,如果未能解决你的问题,请参考以下文章