memcpy()との大きな違いは何strncpy()ですか? 最初の 2 つの非引数をキャストし、3 番目の引数をその非 char 型のサイズの倍数として変更するstrncpy()だけで、文字だけでなく、必要な任意の型のデータをコピーするように簡単に変更できるため、これをお願いします。次のプログラムでは、それを使用して整数配列の一部を他の配列にコピーすることに成功しました。char*char*memcpy()
#include <stdio.h>
#include <string.h>
int main ()
{
int arr[2]={20,30},brr[2]={33,44};
//memcpy(arr,brr,sizeof(int)*1);
strncpy((char*)arr,(char*)brr,sizeof(int)*1);
printf("%d,%d",arr[0],arr[1]);
}
float同様に、または他のデータ型に対しても機能させることができます。では、 との大きな違いはmemcpy()何ですか?
PS:また、ほとんどすべてのライブラリ関数が文字列に関連しているのに、本質的により汎用的であることを考えるmemcpy()と、なぜヘッダー ファイルにあるのだろうか。何らかの理由?string.hmemcpy()