プログラムを実行しようとすると、最初の繰り返しで期待どおりの出力が得られます。しかし、2回目の反復のために、アウト期待...substr in C++問題
int main(){
string insertBuffer;
string valSep;
valSep = ":";
string configParamSep = "\r\n";
int configParamSepSize = 2;
string configParam;
string::size_type mCPos = 0;
string::size_type mCBeginPos = 0;
int finished = 0;
string one = "hai: yes";
string two = "tension: no";
insertBuffer = one + "\r\n" + two + "\r\n";
cout<<"OUTPUT:"<<"\n";
while (!finished){
if(!(mCBeginPos >= insertBuffer.length()) && ((mCPos = insertBuffer.find(valSep,mCBeginPos)) != string::npos)){
configParam = insertBuffer.substr(mCBeginPos,mCPos);
}else{
finished = 1;
break;
}
cout<<configParam<<"\n";
mCBeginPos = mCBeginPos + insertBuffer.find(configParamSep,mCBeginPos) + configParamSepSize;
}
return 0;
}
がOUTPUTとして来ていません。
hai
tension: no
しかしoutpuは予想: -
hai
tension
なぜこれが起こっている任意の手掛かり?