私には機能がありますvoid copy(char *temp,char input[length])
。私がする必要があるのは、temp の値を入力配列にコピーすることですが、入力配列の末尾から開始します。
私は質問を正しく構成しませんでした。これが私がやろうとしていることです。
長さ 20 の入力配列を入力しました。値が「test」の一時配列を取得します。次に、input[19]=t、input[18]=e などの入力配列に temp をコピーしたいと思います。
関数を再度呼び出すと、xyz を入力配列にコピーする場合は、input[15]=x,input[14]=y,input[13]=z になります。
入力配列にすべての値を入力するまで、これを実行したいと思います。
void copy(char *temp,char input[])
これが関数定義です。
今、私たちがしなければならないことを見てみましょう。
char* temp={"abcde"};
char input[100]={};
//I want to move data from temp into input array such that
printf("%c",input[95]); // gives output as a
printf("%c",input[96]); // gives output as b
ここまで書いてきました。
char* copy(char* ptr,char data[])
{
int start=sizeof(data)/sizeof(char)-strlen(data);
int end=start-strlen(ptr);
int j=0;
int counter=0;
for(counter=start;counter>end;counter--)
{
data[counter]=ptr[j++];
}
printf("%s",data);
return data;
}
この関数を呼び出すと、この方法で別のエラーが発生します。
char data[100]={};
char* temp={"abcde"};
char* output=copy(temp,data);
data=output;
data=output 行の 'char*' から 'char [100]' への割り当てに互換性のない型があります