如何使用我自己的复制功能复制数据

时间:2014-09-30 13:19:13

标签: c++ string binary char strcpy

根据要求here我写了这篇文章: 我试图从std::string* to *char*复制数据。我正在使用C ++。 我的方法是转换std:string* to *char*然后复制数据。但是我得到了错误的结果。 这部分数据要复制: enter image description here

我的代码如下:

CryptoPP::StreamTransformationFilter stfEncryptor(cbcEncryption, new CryptoPP::StringSink( ciphertext ) );
stfEncryptor.Put( reinterpret_cast<const unsigned char*>( plaintext.c_str() ), plaintext.length() + 1 );
stfEncryptor.MessageEnd();

cout << "cipher text plain ("<<ciphertext.size() <<" bytes): " <<std::endl<< std::endl ;
std::cout<< ciphertext <<std::endl  <<std::endl<<std::endl ;
d.body = new char[300];
my_strcpy(d.body,ciphertext.c_str(),300);
std::cout << "Cipher Text length after copy(" << strlen(d.body) << " bytes): " << std::endl<< std::endl;
std::cout << d.body << std::endl<<std::endl;

这是我的功能&#34; my_strcpy&#34; :

char* my_strcpy( char* arr_out,  char* arr_in, int bloc )
{
char* pc= arr_out;

 for(size_t i=0;i<bloc;++i)     
 {

        *arr_out++ = *arr_in++ ;
 }

 *arr_out = '\0';
return pc;
}
你能告诉我这里有什么问题吗? 结果不如预期!

0 个答案:

没有答案