當前位置:首頁 » 編程語言 » c語言數組變成字元串數組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言數組變成字元串數組

發布時間: 2022-08-24 11:29:15

『壹』 c語言如何將數組轉成字元串

數組是指針,如果是字元數據就已經是字元串了,其它類型可以使用對應的函數轉換,如inttostr,floattostr等。

『貳』 c語言 數組可以轉換成字元串嗎

c語言數組可以轉換成字元串。
實際上,c語言中的字元串就是一個字元數組,數組最後一個元素為"\0",表示字元串的結束位置。

『叄』 c語言中如何把數組轉換成字元串最好能給個代碼

int a[10];
char ch[11];

for( ...... )
ch[i] = (char)a[i];

『肆』 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]='';
return;
}
else
{
Destination[0]='0';
Destination[1]='';
return;
}
}

然後是測試

//測試代碼
fprintf(FP_BaseZeroth,"測試對象:voidFloatToStringDecimal(floatFloat,char*Destination,unsignedintPrecision) ");
fprintf(FP_BaseZeroth,"測試輸入:0;123;123.456;-123;-123.456;1.23456e10f; ");
fprintf(FP_BaseZeroth,"預測輸出:0;123;123.456;-123;-123.456;有效數字部分確定 ");
fprintf(FP_BaseZeroth,"實際輸出:");
floatA[6]={0.0f,123.0f,123.456f,-123.0f,-123.456f,1.23456e10f};
charDes[100];
FloatToStringDecimal(A[0],Des,0);
fprintf(FP_BaseZeroth,"%s;",Des);
FloatToStringDecimal(A[1],Des,0);
fprintf(FP_BaseZeroth,"%s;",Des);
FloatToStringDecimal(A[2],Des,3);
fprintf(FP_BaseZeroth,"%s;",Des);
FloatToStringDecimal(A[3],Des,0);
fprintf(FP_BaseZeroth,"%s;",Des);
FloatToStringDecimal(A[4],Des,3);
fprintf(FP_BaseZeroth,"%s;",Des);
FloatToStringDecimal(A[5],Des,3);
fprintf(FP_BaseZeroth,"%s;",Des);
fprintf(FP_BaseZeroth," ");

測試結果

『伍』 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語言中怎麼把字元數組轉換為字元串

定義一個字元數組,直接賦值就行(把字元賦值給該數組元素,並給後一個元素賦值為'\0'就行)

『柒』 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;

}

(7)c語言數組變成字元串數組擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的存儲方式是順序存儲方式和鏈接存儲方式。

『捌』 C語言字元數組轉換字元串

不可能做得完全一樣!char *s = "abc";這樣的定義意思是「創建一個常字元串abc,將首地址(就是a的地址)賦給char*型指針s」。可以設法讓數組a變成字元串,再讓一個s指針指向它,但目標卻不是常量,也不在常量區。可以用下面的代碼做個效果差不多的轉換。

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
chara[3]={'a','b','c'},b[4];
constchar*s;
b[0]=a[0],b[1]=a[1],b[2]=a[2],b[3]='';
s=b;
printf("%s ",s);
return0;
}

『玖』 C語言中,如何將一串字元數組形成字元串

可以人為的在字元數組後面加一個'/0',這樣就等價為定義了一個字元串。你可以printf函數%s輸出這個字元數組,也可以使用puts(字元數組)來輸出。

『拾』 c語言 如何將數組轉為字元串 如數組 char b[]={「22.34」};變為字元串 char a=「22.34」;請給出常式

你那個 a是char類型就是錯的 指針的話就可以了
還有c語言是沒字元串的 只有字元數組表示字元串
char b[]={"22.34"};
char *a=b;
printf("%s",a);
這樣的嗎