奇怪,为什么小弟我这样得不到正确的结果呢

奇怪,为什么我这样得不到正确的结果呢?
程序是这样的:

#include   <iostream>
#include   <fstream>
#include   <string>
#include   <cassert>

using   namespace   std;

int   main()
{
//-------读取密码并加密转换
string   OriginFileName= "原始密码.txt ";

ifstream   OriginStream(OriginFileName.data(),ios::in);
assert(OriginStream.is_open()); //判断是否读到文件

char   inPassword_ch=0; //保存原始的密码字符
char   temp_ch;
string   outTempPW_str( "00000000 "); //保存加密后的密码字符串

for(int   i=0;i <8;i++)
{
OriginStream> > inPassword_ch;   //从文件中读取8个密码字符

switch(i)     //对每个字符进行简单的加密测试
{
case   0:
temp_ch=inPassword_ch+ 's ';
break;
case   1:
temp_ch=inPassword_ch+ '2 ';
break;
case   2:
temp_ch=inPassword_ch+ 'n ';
break;
case   3:
temp_ch=inPassword_ch+ 'u ';
break;
case   4:
temp_ch=inPassword_ch+ 'i ';
break;
case   5:
temp_ch=inPassword_ch+ 'e ';
break;
case   6:
temp_ch=inPassword_ch+ '2 ';
break;
case   7:
temp_ch=inPassword_ch+ 's ';
break;
default:
break;
}
outTempPW_str[i]=temp_ch;
}
OriginStream.close(); //关闭与原始密码文件联系


//------输出加密后的密码文件
string   outTempFileName= "加密后文件.txt ";
                  ofstream   outTempStream(outTempFileName.data(),ios::out);//app
assert(outTempStream.is_open()); //判断是否打开文件
outTempStream < <outTempPW_str < <endl;
outTempStream.close();


//------读取加密后的文件并解密
string   inTempFileName=outTempFileName;
ifstream   inTempStream(inTempFileName.data(),ios::in);
assert(inTempStream.is_open()); //判断是否读到文件

string   outPW_str( "00000000 "); //保存最后解密的密码串

for(int   i2=0;i2 <8;i2++)
{
inTempStream> > inPassword_ch;   //从文件中读取密文

switch(i2)   //解密
{
case   0:
temp_ch=inPassword_ch- 's ';
break;
case   1:
temp_ch=inPassword_ch- '2 ';
break;
case   2:
temp_ch=inPassword_ch- 'n ';
break;
case   3:
temp_ch=inPassword_ch- 'u ';
break;
case   4:
temp_ch=inPassword_ch- 'i ';
break;
case   5:
temp_ch=inPassword_ch- 'e ';
break;
case   6:
temp_ch=inPassword_ch- '2 ';
break;
case   7:
temp_ch=inPassword_ch- 's ';
break;
default:
break;
}
outPW_str[i2]=temp_ch;
}

inTempStream.close(); //关闭读取文件联系


//-----输出解密后的密码文件
string   outFileName= "解密后文件.txt ";
ofstream   outStream(outFileName.data(),ios::out);//app
assert(outStream.is_open()); //判断是否打开文件
outStream < <outPW_str < <endl;
outStream.close();


system( "pause ");
return   0;
}


----------
我在文件“原始密码.txt”中输入11111111,在“解密后文件.txt”却得不到密码值11111111
不知道为什么呢?难道是输入输出缓冲问题?还是回车符问题呢?
在哪里修改呢?
谢谢!一直没有发现原因,汗。。

------解决方案--------------------
文件名的原因, 该用英文字母的文件名吧:)