0

はい、これは学校のプロジェクトです。はい、どうしようもなく行き詰まっています。教授はこのプロジェクトで .substr() の使用を要求していますが、これを正確に処理する方法がわかりません。単一の文字列を char に変換するさまざまな方法を試しましたが、c++ はずっと私と戦っています。私のコード:

 int shift;
 std::string tChar;
 std::cout << "Enter text to be encrypted.\n";

 getline(std::cin, plainText);

 char myChar;

 for (int x = 0; x < plainText.length(); x++)
 {
     tChar = plainText.substr(x,1);

 }

世界で、単一文字の tChar 文字列を整数値を取得できる char に変換する方法、またはさらに良いことに、別の整数を追加する方法を教えてください。単純なシーザー暗号を構築することになっていますが、文字列を単一の文字に変換する方法についてはまったくわかりません。

4

2 に答える 2

0

うーん、教授は、暗号化する必要のあるテキスト内の単語を取得するために、substrを使用することを望んでいる可能性があります。

したがって、サンプルの擬似コードは次のようになります。

for( int i = 0;  i < plaintext.length(); i++ )
{
    int aStart = i;
    // iterate till you reach a space
    while( i < plainText.length() && plainText[ i ] != ' ' ) i++;
    // get the word using substr
    std::string aTempString = plainText.substr( aStart, (i - aStart) - 1 );  // (i - aStart) - 1 will give you the length of the word
    // perform ciphering
    encryptMe( aTempString );
}

お役に立てれば。

于 2013-02-06T04:20:15.267 に答える
0

試す

int shift;
char tChar;
std::cout << "Enter text to be encrypted.\n";
getline(std::cin, plainText);
char myChar;
for (int x = 0; x < plainText.length(); x++)
{
   tChar = plainText[x];
}
于 2013-02-06T03:54:03.887 に答える