C++初心者です。簡単なプログラムを書く。名と姓を抽出してこれらを個別に印刷しようとする場合を除いて、すべてが機能します。姓に印刷される文字の数は、常に名の数字と同じサイズになります。そのため、名前が will jackson の場合、プログラムは firstname を will と、second name を jack と出力します。これを解決するにはどうすればよいですか?
ここにコードがあります
for( i = 0; i < 19; i++)
if(cAddress[i] == ' ' || cAddress[i] == '_' || cAddress[i] == '-' || cAddress[i] == '.')
break;
strncpy(cFirst, cAddress, i);
cFirst[i] = '\0';
cout << endl << "\n";
cout << "Your first name is " << cFirst << endl;
strcpy(cSur,cAddress + i + 1);
cSur[i] = '\0';
cout << endl;
cout << "Your surname is " << cSur << endl;