C 语言 给char型数组赋值字符串。

时间:2021-04-11 14:43:40

    char CharType[6];                       //  定义一个 char 类型的数组。

    strcpy(CharType,"0.001");           //  将字符串 “0.001” 赋值给 CharType 数组。

    itoa(i_value_flag, CharType);       //  将int型变量,转换成字符串,然后赋值给CharType数组。

 

    当我把int型变量转换成字符串的时候,我发现字符串显示顺序反了。比如 i_value_flag 等于123456,在界面上

显示出来就成了654321,(当然strcpy(CharType,"123456")是可以显示123456的)

    所有我又写了一段颠倒顺序的功能。

  j = 0;
  i = 0;

  while(j==0){
      if(CharType[i]==0){
          j = 1;
      }else {
          i++;
      }
      if(i>5)j=1;
  }// 这里先统计一下有效字符是多少个 ,如果有效字符是4个,存储的效果是‘4’‘3’‘2’‘1’‘\0’'\0',因为‘\0’不用颠倒顺序,所以统计到的4个有效数存到 i 变量里边。

  i--;
  j=0;

  while(j==0){
      if( CharType[i]=='0' && i>0){
          CharType[i]='\0';
          i--;
      } else j=1;
  }//清掉多余的0,如果挨着‘\0’字符,有‘0’的存在,就把这个'0'改为'\0'。因为我主要显示数字

  k = i/2; //如果 i 等于奇数,比如 i 等于5,正好 k 等于2。也就是第三位不用对换。
  l = i;
  for(i=0;i<k;i++){
      c_value_flag   = CharType[l-i];
      CharType[l-i]  = CharType[i];
      CharType[i]    = c_value_flag;
  }//调到有效字符的顺序,比如1和5对换,2和4对换,3不变。