MFC中各种字符转换

来源:互联网 发布:三星2016手机网络 编辑:程序博客网 时间:2024/05/18 05:40

本文主要概括了vs2013的MFC中,各种字符转换

 

1.char*转int,用函数atoi();

chartemp[10] = { 0 };

int Int =atoi(temp);

 

2.int转char,直接强制转换

int Int =0;

char Char =Int;

 

3.CString转BYTE

BYTEByte[16] = { 0 };

CStringcstring("ABC123");

Byte[1] = cstring.GetAt(0);

 

  

4.cstring字符串转int组数

//将一个字符串里面的数值一个个提取出来,并且提取出来的数值转化为BYTE,WORD,DWORD类型

   //取出BYTE类型,字符串数值

   UpdateData(TRUE);

   int cp, kk= 0, b = 0, count = 0, black = 0, on = 0, terme = 0;

   chartemp[64][10] = { 0 };

   unsigned char tt2[64]= { 0 };

   for (int i = 0;i < m_FLSendData.GetLength(); i++)//将编辑框的字符串数值,一个个的取出到二维数组的每行首位

   {

      count++;//计数,字符串从左到右遍历的计数器

      if(!(m_FLSendData.GetAt(i) >= '0'&&m_FLSendData.GetAt(i) <= '9'))//如果此时i所在地址不是数字,则表示一个数据传输完毕,要换行

      {

         black++;//计算非数值的值个数

         if (on ==1)//控制第一个不是数值,则不执行非数值的个数计算语句

         {

            kk += 1;//控制二维数组行

            b = 0;//控制二维数组列

            on -= 1;//控制该段内的程序,同样的空格,只执行一次

         }

      }

      if(m_FLSendData.GetAt(i) >= '0'&&m_FLSendData.GetAt(i) <= '9')

      {

         cp = i;//从左到右遍历,第一次遇到数值,此时cp指向开头的数值

         temp[kk][b++]= m_FLSendData.GetAt(cp++);//将指针指到的第i个数据赋值给二维数组

         on = 1;//控制第一个不是数值,则不执行非数值的个数计算语句。每传完一次数据,就控制二维数组行+1,并且只执行一次,直到下一次数据发送完为止

      }

   }

   for (int i = 0;i <= kk; i++)//将二维数组的每行数值,存入一个字符串里面

   {

      //tt2[i] = StrToInt(temp[i]);

      tt2[i] =atoi(temp[i]);

      terme = i;

   }

   tt2[++terme] = '\0';

   /*for (int i = 0; i < terme; i++)

   {

      AreaValidateData[i]= tt2[i];

   }*/