byte型の Pointer で文字を設定

9
H
表

C# で byte型の Pointer で char型のデータに Cast して、16進数で文字を設定します。
C# でポインタを使うときは unsafe の設定が必要です。

プログラムの説明

  1. Pointer を使うときは unsafe の設定をして下さい。
    unsafe の設定は Pointer を使う を参照して下さい。
  2. char型のデータと byte型の Pointer です。
    char chr;
    byte* byt = (byte *)&chr;
  3. byte型の Pointer を使って、16進数で文字を設定します。
    *byt = 0X48;
    *(byt+1) = 0;
  4. このプログラムを実行すると「どんな文字?」が表示されるでしょう。
  5. ソースコードです。
    /**************************************************/
    /*★ char を byte ポインタにキャスト    前田 稔 ★*/
    /**************************************************/
    using System;
    
    unsafe class BytePTR
    {
        public static void Main()
        {
            char    chr;
            byte*   byt = (byte *)&chr;
            *byt = 0X48;
            *(byt+1) = 0;
            Console.WriteLine("{0}", chr);
            Console.ReadLine();
        }
    }
    

【演習】

  1. このプログラムを改造して、ループを使って0~9の文字を表示して下さい。

超初心者のプログラム入門(C# Frame Work)