怎樣把char型陣列轉存為int型陣列

時間 2021-10-17 02:37:57

1樓:擁雲莊主

#include

#include

typedef unsigned char uchar;

typedef unsigned int  uint;

//轉換函式

//temp 字元型陣列

//pout int型陣列

//length 字元型陣列的長度

//這裡假設字元型陣列裡包含的都是偶數個元素//如果是奇數個數,則需要增加如下處理:

//檢查length是否是奇數,如果是,動態分配length+1個char大小的陣列

//資料全部清零,並且把temp的內容拷貝到動態分配的陣列中//按照下面長度是偶數的情況處理

//釋放動態分配的記憶體

//這裡根據問題要求,應該是以小端序來存放int型別的//如果更智慧型一些,可以寫乙個檢查位元組序的函式來處理void exchange(const uchar *temp, uint *pout, uchar length)

}//測試**

int main(void)

;uchar start = ;

exchange(start, array, sizeof(start));

for (i = 0; i < 20; i++)}

printf("\n");

return 0;

}輸出截圖:

2樓:匿名使用者

其實可以不轉換,用指標訪問即可,比如你的例子:

short int *array=(short int *)start;

則printf("%x %x %x %x\n",array[0],array[1],array[2],array[3]);得到的結果就是

f180 0358 eac1 068f

3樓:善護

void exchange(uchar *temp, uchar length, uint *pout)

//memcpy(pout, temp, length); //效率更高

//必須考慮 length 為奇數時的情況if (length % 2)

p[i] = 0;}

j**a中把char型陣列轉換成int型陣列怎麼做?

4樓:

我比較同意二樓的話。個人認為迴圈出來之後再加到陣列裡去。

5樓:黑q鳥人

public class test ;

int toint = new int[ch.length];

for(int i=0;i

應該這樣寫:int a=new int[7];或int a=new int[ch.length]; 呵呵..

6樓:匿名使用者

哪位大大能指出為什麼錯了麼, 我是個新手

7樓:e花間一壺酒

只有乙個乙個的迴圈出來。

然後賦值給int。。。

直接轉換,好像不太行。

8樓:匿名使用者

試試這個 符合要求不

public class test ;

int len=ch.length;

int in =new int[len];

for(int i=0;i

9樓:_飛龍

char ch =;

string str = string.valueof(ch);

int arrayint = new int[ch.length];

for(int i=0; i

在c++中char型別的陣列裡邊裝的是數字,如何轉換為int型別?

10樓:會飛的小兔子

cha和rint陣列轉換,例:

inti[2]=

charc[2]=

兩者轉換**:

inta[2]=;

charc[2];

for(inti=0;i<2;i++)c[i]=a[i];

int是將乙個數值向下取整為最接近的整數的函式,為取整函式。

擴充套件資料char*、string、cstring這三種字串型別各有各的優點,比如cstring比較靈活,是基於mfc常用的型別,安全性也最高,但可移植性最差。string是使用stl時必不可少的型別,所以是做工程時必須熟練掌握的;char*是從學習c語言開始就已經和我們形影不離的了,有許多api都是以char*作為引數輸入的。

char*型別:是字元指標,在一定條件下等同於字元陣列,如果字元陣列的最後元素是"\0",則是乙個c風格的字串。

11樓:匿名使用者

在標頭檔案中新增

#include

#include

void main()

{char *s;

int n;

s="1234";

n=atoi(s);

cout<:1234

標頭檔案中新增#include

用 x=atof(s)可轉化為double型,用(float)x可轉為float型

12樓:匿名使用者

#include

void main()

//用int()也可以換的方便

13樓:匿名使用者

char str="10";

int num=strtol(str,null,10);

其中,把10換成16可以

獲得16進製制數(即num=16),換成其他數字,可以獲得其他進製的數(如換成8的話,n=8)

14樓:匿名使用者

#include

#include

#include

using namespace std;

template

t lexical_cast(u u)

int main()

15樓:匿名使用者

char dd[n];//設陣列的長度是nint ee[n];

for(int i=0;i

C 中,如何講CHAR陣列轉換成FLOAT型資料

可使用庫函式strtod const char ptr,char endptr 或atof const char ptr 將char陣列轉換成float型資料。當strtod的第二個引數endptr不為null時,且ptr中含非法字元,則會將非法字元通過endptr返回。include includ...

用char型二維陣列給string型別變數賦值出錯

一般是這樣賦值的 char a 10 string str a 0 char c i j 相當於定義了i個j長度的一維陣列 這個問題我知道 首先 ct是乙個結構體指標賦值應該是這樣 ct ch ct codes 還有就是string是物件操作,他的賦值是這樣的strings 定義乙個新的空strin...

c語言把int型變數a高位賦值給char型變數b其中

右移操作需要區分有符號右移和無符號右移,無符號數右移時在前面補零,有符號數右移時在前面補符號位 0或1 本題16位int型轉化為8位char型,int型的高8位將被階段,實際傳給char型的數值只有低8位,可以用 b char a 8 實現,加上後面的 有利於 的規整性與可讀性 表明你考慮到了右移操...