vc-4. 文字データと文字コード
(Visual Studio C++ の機能と操作演習,
全5回)
1
金子邦彦
https://www.kkaneko.jp/pro/vc/index.html
文字データがメモリ上でどのように表現されるか、
ASCIIコードとの対応をデバッガで確認する演習
【学習内容の構成】
1. ASCII文字コード:英数文字を数値で表現する標
準規格
2. デバッガ操作:ブレークポイント設定、ステッ
プ実行、変数・メモリ表示
3. メモリ確認:文字列"hello"が16進数(68 65 6c
6c 6f 00)として格納される様子の観察
• 前提:Visual Studio 2015の基本操作、Win32コン
ソールアプリケーションの作成
• 意義:文字データの内部表現の理解、デバッガを
用いたプログラム動作の検証技術の習得
2
0 1 2 3 4 5 6 7
0
NULL DEL SP
0 @
P p
1
SOH DC1
! 1
A Q a q
2
STX DC2
“ 2
B R b r
3
ETX DC3
# 3
C S c s
4
EOT DC4
$ 4
D T d t
5
ENQ NAK
% 5
E U e u
6
ACK SYN
& 6
F V f v
7
BEL ETB
’ 7
G W g w
8 (BS)
CAN
( 8
H X h x
9 (HT)
EM
) 9
I Y i y
A
(LF)
SUB
* :
J Z j z
B
(VT)
ESC
+ ;
K
[
k {
C
(FF) (FS) , <
L
¥
l |
D
(CR) (GS) - =
M
]
m }
E SO
(RS) . >
N
^
n ~
F SI
(US) / ?
O
_
o DEL
太字は特別用途
コンピュータで
英数文字データを扱うときの標準
3
ASCII 文字コード表
• Visual Studio 2015 を起動しなさい
• Visual Studio 2015 で、Win32 コンソールアプリ
ケーション用プロジェクトを新規作成しなさい
4
プロジェクトの「名前」は何でもよい
パソコン演習
• Visual Studio 2015 のエディタを使って、ソース
ファイルを編集しなさい
5
• ビルドしなさい.ビルドのあと「1 正常終了、
0 失敗」の表示を確認しなさい
• Visual Studio 2015 で「char message = “hello”;」
の行に、ブレークポイントを設定しなさい
• Visual Studio 2015 で、デバッガーを起動しなさい.
6
「デバッグ」
→ 「デバッグ開始」
• 「char message = “hello”;」の行で、実行が中断す
ることを確認しなさい
あとで使うので、中断したままにしておくこと
7
• 「 char message = “hello”;」の行で、実行が中断
した状態で、変数の値を表示させなさい.手順は
次の通り.
8
①「デバッグ」
→ 「ウインドウ」
→ 「ローカル」
② 変数名と値の対応表が
表示される
• 「 char message = “hello”;」の行で、実行が中断
した状態で、メモリの中身を表示させなさい.手
順は次の通り.
9
①「デバッグ」
→ 「ウインドウ」
→ 「メモリ」
→ 「メモリ1(1)」
② 「メモリ1」の画
面が表示される
• 「メモリ1」の画面の「アドレス」に
「&message」と入れて Enter キーを押しなさい
10
画面が変化するので確認する
• ステップオーバーの操作を1回行いなさい
11
「デバッグ」
→ 「ステップオーバー」
(あるいは F10 キー)
char message[] = "hello";
12
メモリの中身は 68 65 6c 6c 6f 00 に変化
68→h
65→e
6c→l
6c→l
6f→o
00→文字列の終わり
ASCIIコード
• プログラム実行の再開の操作を行いなさい。これ
で、デバッガーが終了する。
13
「デバッグ」
→ 「続行」
• プログラムを次のように書き換えて、同じことを
もう1度行いなさい
14