私はこれまでインターネットで探していましたが、これまでのところ私は特定の答えと一般的なものについて多くの質問を見つけました。charの配列を返す関数としてcharを配列する単純な方法で
私はCの上にrustyです。そして、私はcharの配列を返す関数を作りたいと思います。
これは私が得たものであり、動作していないものです。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
char *get_char(int my_byte[], int packetsize)
{
char *array_char=(char *) malloc(sizeof(char)*10); //trying this but didnt work
// char array_char[10]; //i had it like this before(was told to do it)
for(int i=0;i<10;i++)
{
array_char[i]=my_byte[i]+0;
}
return array_char;
}
int main()
{
int byte_array[]={1,2,3,4,5,6,7,8,9,0};
char *temp;
char data;
temp=get_char(byte_array,10);
data=*temp;
printf("String point %s ",data);
}
数字「0」ではなく、「0」*文字*を追加します。結局、ゼロを加えると何も変わりません。つまり、 'array_char [i] = my_byte [i] + '0';'です。 –
あなたは*(動的に割り当てられた) 'char'の配列を返しています。文字列 "1234567890"が含まれるようにするには、各文字を設定するときに '0'の代わりに' '0 ''を追加する必要があります。最後の要素を '0 '(または' \ 0 ')に設定して文字列の最後をマークして、11要素長(10ではなく)にします。 – Dmitri
これは[this](http://ideone.com/MmSvkf)のように変更されます。 – BLUEPIXY