int* switch(*h){ case 0x30: break;..."> ほぼ無理やり処理させてみる -- Le petit jardin
FC2ブログ
*admin*entry*file*plugin| 文字サイズ  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。



今日もプログラミングのお話です。
お題は 「switchで文字判断」

本来switchは数値を見て判断させるわけで
文字の判断なんか普通はできない・・・らしい。
でも、記述が簡単だし文字判断が出来ると嬉しい
と、いうことでほぼ無理やり判断させてみます。

int *h,bh;
h = &bh;

h = (int*)System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi("0").ToPointer();//String^ -> int*

switch(*h){
case 0x30: break;
}

String^からint*への変換

int*じゃないと上手く数値拾えなかったんだけど、
なんだろうかこれは?まぁ、どうでもいいけど。
二行目で一応アドレス指定しているけど使わねぇ。

これでswitch文へ投げることができるようになりました。
判断させるのは大文字のアルファベットと数字と記号が
少々なので一個ずつ書いてもさほどかさばりません。
イレギュラーな文字入ってきたときはdefaultで無効にします。

で、何故こんなことをするのかというと外部から数値を読み込む
ときは元々数値で問題なくても、PCから飛ばすときは文字なわけで。
その文字一つ一つがとある規則によって変換が必要なのです。
そのまま送信すると相手方に「何送ってんの?」と文句言われます。
規則があるのならそれをプログラムに組み込めばいいのだけど、
考えるの面倒だからとりあえず1つずつ変換したという経緯。



ネットが

引っ越しの前後ということでただ今モデム回収されて自宅の
ネット環境が無くなっちゃいました。引越し先でももちろんいるので
契約をしていたのですが、なんと最悪1ヶ月以上時間がかかるとのこと。
これはなかなか面白い状況になってますな、使えん奴らめ。
こうならないようにいつも早めに手を打ってるのに。

・・・こんな事もあろうかと手元にはポケットWi-Fiがあったりして。
メインのデスクトップには基本無線機能無いのだけど、都合よく
USBで受信できる機器が手元にあったりとネットは以前健在なのです。
ただ、速度ががくんと落ちちゃうから大容量の通信は控えることに(´・ω・`)

お引越しの方はほぼ完了したのですが、このあともまだイベントが
続いていましてもうしばらく忙しいのです。
Twitterもお留守状態ですがたまに覗いてます。
つぶやいてはいませんが、居留守みたいな状態です。


この記事へコメントする















Mithril

Author:Mithril


趣味は主に雑学です。
どうでもいいこと書いてます。

Blenderやプログラムに
ついても書いたりするかも。
私のPC環境はこちら

メールはこちらから↓
mithrilp★yahoo.co.jp
(★を@に変えて下さい)

07 | 2018/08 | 09
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

QRコード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。