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 字符串变成一个字符,我可以从中得到一个整数值,或者更好的是,只需添加另一个整数。应该构建一个简单的凯撒密码,但我完全不知道如何将字符串转换为单个字符。

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 回答