家系の名前の文字列から参照コードを作成するためのコードが少しあります。最初にchar
母音かどうかを調べ、次にchar
配列に残っているそれぞれを検索して、子音を一時的にのみ格納している母音を破棄し、一時をstring
元に戻します。コードはCで提供され、C++に変換しました。コードはコンパイルして最初の値を正しく割り当てますが、戻り値の場合、2番目の値をtempに割り当てようとすると失敗します。コードは5秒と4秒を超えているので、最小限の量から始めて、必要に応じてさらに投稿します。string
string refCode;
if
true
string
.cpp
.h
Protytpe:
string makeRefCode(string lastname, int cNo);
電話:
refCode = makeRefCode(e[c].lastname, cNo); cout << refCode;//Prints nothing
関数定義:
string makeRefCode(string lastname, int cNo)
{
string tStr;
unsigned int i, j = 1;
unsigned int x;
x = lastname.length();
tStr[0] = lastname[0];
cout << tStr[0];//Prints correct value
for (i = 1; i < x; i++)
{
if (!isVowel(toupper(lastname[i])))
{
//tStr[j] = lastname[i];//
j++;
}
}
//refCode[j] = '0'; // add string terminator
return tStr;
}
bool isVowel(char aChar)
{
switch (aChar) //<ctype>
{
case 'A':
case 'E':
case 'I':
case 'O':
case 'U': return true; break;
default: return false;
}
}
この問題を解決しようとすると、アサーション、アクセス違反、および文字列が十分に大きくないことを示しているように見える文字列エラーが発生しました。どんな助けでも大歓迎です。