字符串与int数组的转换

#include<iostream>
#include<math.h>
using namespace std;

#define bit(b,n) ( int)(((b) & (1 << (n))) >> (n))

void main()
{
   char *str= "关于基于XML的电子公文格式规范,电子公文是以数字形式存储于磁带,磁盘,光盘等媒体,依赖计算机系统阅读,处理并可在通信网络上传输的公文。";
   int len=strlen(str);
   int *s2i= new int[len*8];

   for( int i=0;i<len*8;i++)
  {
    s2i[i]=0;

  }

   for( int k=0;k<len;k++)
  {
     for( int m=0;m<8;m++)
    {
      s2i[k*8+m]=bit(*(str+k),m); //字符串转二进制存在数组中
    }
  }

   char *p= new char[len];
   int *a= new int[len];

   for( int l=0;l<len;l++)
  {
    a[l]=0;
  }

   for( int k2=0;k2<len;k2++)
  {
     for( int m2=0;m2<8;m2++)
    {
      a[k2]+=(s2i[k2*8+m2]*pow(2,m2)); //数组累加得到字符串
      p[k2]=a[k2];
    }    
  }

  cout<<p<<endl;
}

你可能感兴趣的:(字符串,数组,职场,休闲)