none
c++ 托管数据类型(char int String)的转换 RRS feed

  • 问题

  • 我想把c++(CLR windows窗体应用程序)中截取System::String中的单个字符,存入char型变量里面,然后将char型变量转换为int型变量,转化为int型变量后,经过一系列的数学变换,得到一个新的整形,请问怎么将这个整形逆向转化为String?
    也就是我,我想把String中各个字符,逐一对单个字符进行加密(单个字符的ASCII转换),加密后得到是ASCII序列,我想把这个序列再转换回String在textbox中输出!
     String^ EncodeStr=System::String::Format(this->textBox1->Text->ToString());
         long int strLen=EncodeStr->Length;
            long int letterNum=0;
         long temp=1;
         char  letter='a';
         for(int i=0;i<strLen;i++)
         {
          letterNum=(EncodeStr[i]-48);
          for(int j=1;j<=5;j++)
          {
           temp*=letterNum%21;
          }
          letter=temp%21;
          temp=1;
    //接下来是把letter转化为并连接成String用以在TextBox2中输出,请问怎么写?
         }

    2009年12月28日 13:35

答案

  • .Net基础类库里面的System::String类有一个Format方法可以用来格式化数据。不过看起来你需要的是System::Text::Encoding::ASCII的GetString方法。如果你需要更多.Net基础类库的帮助,可以去.Net开发论坛讨论。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 猫耳洞 2009年12月31日 10:50
    2009年12月28日 19:11
    版主
  • 你好!

    如果你只是想转换char/int成System::String 类型,你可以用Convert::ToString方法。详细的可以参考MSDN文章:

    http://msdn.microsoft.com/en-us/library/system.convert.tostring.aspx

    如果是转换char数组的话,你可以通过强制转换,并且在数据后面加一个字符串的结束标志'\0'。代码请参考:

    char a[4]={'1','2','3','\0'};
    String^ str = gcnew String(a);

    我建议你参考蒋晟的建议,用System::Text::Encoding 类可能比较方便。

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 猫耳洞 2009年12月31日 10:50
    2009年12月30日 9:25

全部回复

  • .Net基础类库里面的System::String类有一个Format方法可以用来格式化数据。不过看起来你需要的是System::Text::Encoding::ASCII的GetString方法。如果你需要更多.Net基础类库的帮助,可以去.Net开发论坛讨论。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 猫耳洞 2009年12月31日 10:50
    2009年12月28日 19:11
    版主
  • 你好!

    如果你只是想转换char/int成System::String 类型,你可以用Convert::ToString方法。详细的可以参考MSDN文章:

    http://msdn.microsoft.com/en-us/library/system.convert.tostring.aspx

    如果是转换char数组的话,你可以通过强制转换,并且在数据后面加一个字符串的结束标志'\0'。代码请参考:

    char a[4]={'1','2','3','\0'};
    String^ str = gcnew String(a);

    我建议你参考蒋晟的建议,用System::Text::Encoding 类可能比较方便。

    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    • 已标记为答案 猫耳洞 2009年12月31日 10:50
    2009年12月30日 9:25