如何将控制台输出的字符转换为字符串; C ++

时间:2014-03-06 02:25:28

标签: c++ string text character line

我想取一系列字符并将它们分配给字符串变量。

这里是我的C ++代码的摘录,然后是对问题的进一步描述。

#include <iostream>
#include <string>
using namespace std;


int main () {

   string line = "MJQQT BTWQI";

   int shift = 5;
   int oldShift = 5;
   int count = 0;

   cout << "Enter your string to shift: ";
   getline(cin,line);
   cout << "Enter your shift number: ";
   cin >> shift;
   oldShift = shift;

   while(count < line.length())
   {


        if(line[count] != ' '){

                if((line[count]-shift) < 'A')
                    shift -= 26;


            line[count] = line[count] - shift;
            shift = oldShift;
            cout << line[count];

        } else{ line[count] = ' ';
            cout << line[count];
        }
    count++;
   }




   return 0;
}

输出如下:

  

输入要转移的字符串:HELLO

     

输入您的班次值:5

     

CZGGJ

我想知道如何将此循环中一次打印出的单个字符分配给新字符串。例如,所需的字符串将是

  

newString =“CZGGJ”

2 个答案:

答案 0 :(得分:0)

首先,声明一个字符串,即string stringOfChars;。完成后,无论您在何处撰写cout << line[count];,请在其下方写下stringOfChars = stringOfChars + line[count];

答案 1 :(得分:0)

声明类似

的内容
std::string newString = "";

然后在cout语句之后或之前写下

newString = newString + line[count];