c語言數組轉字元串
A. c語言中怎樣將一個字元數組裡面的所有元素變成一個字元串
首先要明確的是,「字元串」在C語言中的含義實際上就是一個char類型的指針或數組,且最後一位置為0標記字元串的結束。所以,你所說的」字元數組「我是否可以理解為一個沒有終結符0的char類型數組?
這樣的話,方法如下
#include<string.h>
intmain()//這里為了方便直接用main函數
{
chararray[]={'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拷貝字元
return0;
}
實際上在C中,指針和數組還是有一點微妙的區別的,具體可參考度娘
B. c語言如何將數組轉成字元串
數組是指針,如果是字元數據就已經是字元串了,其它類型可以使用對應的函數轉換,如inttostr,floattostr等。
C. C語言,整數數組轉化為字元串
C有「整數數組轉化為字元串」的專用庫函數char *itoa(int num,char *str,int radix)。聲明一個存放轉換後的字元串的二維字元數組,將整型數組的元素作為num來調用itoa函數,將結束存入二維數組即可。舉例代碼如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
inta[8]={123,234,345,10,787,743891,123456789,0},i;
charx[8][11]={"",};
for(i=0;i<8;i++){
itoa(a[i],x[i],10);//將整數a[i]按十進制轉換成字元串存入字元數組x[i]
printf("%s",x[i]);//打出來看看......
}
printf(" ");
return0;
}
D. c語言中字元數組到字元串
您好,很高興回答您的問題。
在c語言中,沒有字元串變數。字元串常量只能放置在字元數組中,也就是說字元數組可以用來存儲字元串,但是並不是只能存儲字元串。字元數組還可以存儲多個普通的字元常量。判斷是否存放的是字元串,就看字元數據中最後是否有存放表示字元結束標志的\0。
E. c語言 數組可以轉換成字元串嗎
c語言數組可以轉換成字元串。
實際上,c語言中的字元串就是一個字元數組,數組最後一個元素為"\0",表示字元串的結束位置。
F. C語言數組幫忙轉換成字元串,並告知如何修改
你用的什麼開發環境? 若是.net有現成的函數可以轉。
stringstr=System.Text.Encoding.Default.GetString(bytearray);
G. C語言中如何把int型數組轉化為字元串
不準用sprintf 之類函數,要自己寫,那麼 這樣自己寫i2s如下:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void i2s(int x, char *s){
int v,xx,i,j,n=0;
char c;
xx = abs(x);
while(1){
v=xx%10;
s[n]=v+'0'; n++;
xx=(xx-v)/10;
if (xx==0) break;
}
if (x<0) {s[n]='-'; n++;}
for (i=0;i<n/2;i++){
c=s[i]; s[i]=s[n-i-1];s[n-i-1]=c;
}
s[n]='\0';
}
main()
{
int a[4]={12,34,-56,789};
char s[4][15];
int i;
for (i=0;i<4;i++){
i2s(a[i],s[i]);
printf("%s ",s[i]);
}
return 0;
}
輸出:12 34 -56 789
如用
int i2s(int x, char *s){
//全部照舊
return n;
}
可以返回字元串長度。
你若想把所有輸出放入一個長長的char 數組,有了每個字元串長度,應當很容易自己做了--即使不用strcat()。
H. c語言如何將字元數組轉換成字元串
普通的C里沒有字元串一說,指的就是字元數組或者字元指針
I. c語言 如何將數組轉為字元串 如數組 char b[]={「22.34」};變為字元串 char a=「22.34」;請給出常式
你那個 a是char類型就是錯的 指針的話就可以了
還有c語言是沒字元串的 只有字元數組表示字元串
char b[]={"22.34"};
char *a=b;
printf("%s",a);
這樣的嗎