[]新手关于字符串的有关问题

[求助]新手关于字符串的问题
#include <stdio.h>  
#include <iostream>
#include<string.h>
#include<sstream>
using namespace std;
void escapechar()
{
  string s;
  
  cout<<"please enter words\n";
  getline(cin,s);
  int a=s.length();
    for(int i=0;i<a;i++)
  {
  if(s[i]==' ')
  cout<<"\\s";
  else if(s[i]=='\n')
  cout<<"\\n";
  else if(s[i]=='\r')
  cout<<"\\r";
  else if(s[i]=='\t')
  cout<<"\\t";
  else if(isdigit(s[i] ))
  cout<<"\\"<<s[i];
  else
  cout<<s[i];
  }
  system ("pause");
}
int main ()  
{  
escapechar();
return 0;
}  
新手做作业,做到最后一步实在进行不下去了,求各位帮个忙,就是如何把escapechar里cout的内容放进一个string变量里?我想如果可以就直接cout string变量,而不是逐个cout,求各位高手解答

------解决方案--------------------
#include <stdio.h>  
 #include <iostream>
 #include<string.h>
 #include<sstream>
 using namespace std;
 void escapechar()
 {
   string s;
   string result;
   cout<<"please enter words\n";
   getline(cin,s);
   int a=s.length();
     for(int i=0;i<a;i++)
   {
   if(s[i]==' ')
   result+="\\s";
   else if(s[i]=='\n')
   result+="\\n";
   else if(s[i]=='\r')
   result+="\\r";
   else if(s[i]=='\t')
   result+="\\t";
   else if(isdigit(s[i] ))
   result+=string("\\")+s[i];
   else
   result+=s[i];
   }
   cout<<result;
   system ("pause");
 }
 int main ()  
 {  
 escapechar();
 return 0;
 }