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.h
memcpy()