Cで独自のmemcpy()を書く
ここでは、Cでmemcpy()関数を実装する方法を説明します。memcpy()関数は、データのブロックをある場所から別の場所にコピーするために使用されます。 memcpy()の構文は次のようになります-
void * memcpy(void * dest, const void * srd, size_t num);
独自のmemcpyを作成するには、指定されたアドレスをchar *に型キャストしてから、データをソースから宛先にバイト単位でコピーする必要があります。次のコードを実行するだけで、より良いアイデアを得ることができます。
例
#include<stdio.h> #include<string.h> void custom_memcpy(void *dest, void *src, size_t n) { int i; //cast src and dest to char* char *src_char = (char *)src; char *dest_char = (char *)dest; for (i=0; i<n; i++) dest_char[i] = src_char[i]; //copy contents byte by byte } main() { char src[] = "Hello World"; char dest[100]; custom_memcpy(dest, src, strlen(src)+1); printf("The copied string is %s\n", dest); int arr[] = {10, 20, 30, 40, 50, 60, 70, 80, 90}; int n = sizeof(arr)/sizeof(arr[0]); int dest_arr[n], i; custom_memcpy(dest_arr, arr, sizeof(arr)); printf("The copied array is "); for (i=0; i<n; i++) printf("%d ", dest_arr[i]); }
出力
The copied string is Hello World The copied array is 10 20 30 40 50 60 70 80 90
-
独自のシーザー暗号エンコーダーの書き方
シーザー暗号について聞いたことがありますか ? ジュリアスシーザーはこのテクニックを使用して、敵からの秘密のメッセージを隠しました! シーザー暗号は、最も原始的な暗号化技術の1つです。 このシステムの背後にある主なアイデアは、文字を回転させることです。 x個のアルファベット上の位置 。 たとえば、x = 1の場合 、「A」は「B」になり、「C」は「D」になります。 では、これをコードでどのように実装するのでしょうか? よろしくお願いします。見た目ほど難しくはないことがわかりました。文字は数字(ASCIIコード)で表すことができるという事実を利用します。これにより、2つの数字を
-
独自のブラウザ拡張機能の作成方法 [サンプル プロジェクトを含む]
この記事では、ブラウザーの拡張機能について説明します。拡張機能とは何か、どのように機能するのか、独自の拡張機能を構築する方法について説明します。 最後に、ボタンを 1 回クリックするだけで任意のコード スニペットをクリップボードにコピーできる独自の拡張機能を実際に作成します (非常に楽しい!)。 この記事を続けるには: JavaScript の基本的な知識が必要です。 Firefox ブラウザが必要です (または他のブラウザでも動作します) ブラウザ拡張機能とは? ブラウザ拡張機能は、ブラウザに追加するもので、ブラウザの容量を拡張してブラウジング エクスペリエンスを向上させます。