『壹』 c語言,如何將整數數組轉化為字元串
#include <stdio.h>
void main()
{
int d[5]={4,5,3,2,5};
char a[80];
int i;
for(i=0;i<5;i++)
a[i]=d[i]+'0';
a[i]='\0'; //這個很重要,是字元串結束符
printf("%s\n",a);
}
『貳』 C語言中,如何將一個數組中的數值轉換成字元串輸出
#include<stdio.h>
void IntToStr(int *i, char *c, int len)
{//i為整形數組,c為要存放字元串的數組,len為整形數組元素個數
int k;
char tmp[10];
for(k=0;k<len;k++)
{
itoa(i[k],tmp,10);
strcat(c,tmp);
int main()
或:
#include <string.h>
int main() // 這里為了方便直接用main函數
{
char array[] = { 'h', 'e', 'l', 'l', 'o' };
/* 需要注意的是,這里沒有終結符,故需要知道數組的 */
/* 大小(數組的大小是編譯時常量)*/
char *dest_str; // 目標字元串
dest_str = (char *)malloc(sizeof(char) * (sizeof(array) + 1));
/* 為字元串分配堆空間 */
strncpy(dest_str, array, sizeof(array));
// 用C標准庫函數strncpy拷貝字元
return 0;
}
(2)c語言把數組轉為字元型數組擴展閱讀:
字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。
通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。
『叄』 C語言 數組類型轉換,怎樣將一個float類型的數組轉換成字元(串)數組
不使用sprintf,使用求余%,且代碼少
#include<stdio.h>
#include<math.h>
//4個二進制位轉成一個16進制位的字元(3個二進制位轉成一個8進制位的字元)(十進制0-9轉成字元)
(unsignedcharnum)
{
switch(num)
{
case0:return'0';
case1:return'1';
case2:return'2';
case3:return'3';
case4:return'4';
case5:return'5';
case6:return'6';
case7:return'7';
case8:return'8';
case9:return'9';
case10:return'A';
case11:return'B';
case12:return'C';
case13:return'D';
case14:return'E';
case15:return'F';
default:return'X';
}
}
//字元串反轉
voidReverseString(char*Source,intBegin,intEnd)
{
inti;
charTemp;
for(i=0;i<((End-Begin+1)/2);++i)
{
Temp=Source[Begin+i];
Source[Begin+i]=Source[End-i];
Source[End-i]=Temp;
}
}
//比較float類型大小
intCompareFloat(floatA,floatB)
{
if((A<B)
&&(fabs(A-B)>1e-6f))
{
return-1;
}
elseif((A>B)
&&(fabs(A-B)>1e-6f))
{
return1;
}
else
{
return0;
}
}
//float轉字元串(十進制)(Precision是小數精度)
voidFloatToStringDecimal(floatFloat,char*Destination,unsignedintPrecision)
{
if(CompareFloat(Float,0)!=0)
{
//將小數移到整數位
floatTemp=Float*powf(10.0f,(float)Precision);
//負數轉成正數,否則不能使用迷之轉換
if(CompareFloat(Temp,0)==-1)
{
Temp=-Temp;
}
floatIntInFloat=0.0;
modff(Temp,&IntInFloat);
inti=0;
unsignedcharnum;
for(i=0;(i<(int)Precision)&&(CompareFloat(IntInFloat,0)!=0);++i)
{
//float轉成unsignedint
//迷之轉換(因為不知道內部如何實現,所以叫迷之轉換)
num=(unsignedchar)((unsignedint)IntInFloat%10);
Destination[i]=(num);
IntInFloat/=10;
modff(IntInFloat,&IntInFloat);
}
if(Precision!=0)
{
Destination[i]='.';
++i;
}
while(CompareFloat(IntInFloat,0)!=0)
{
num=(unsignedchar)((unsignedint)IntInFloat%10);
Destination[i]=(num);
IntInFloat/=10;
modff(IntInFloat,&IntInFloat);
++i;
}
if(CompareFloat(Float,0)==-1)
{
Destination[i]='-';
++i;
}
ReverseString(Destination,0,i-1);
Destination[i]='