C++の文字列操作系の関数の中に_mbctombbという関数があるのですが、
この関数では、2Byteのマルチバイト文字を対応する1Byteの文字に変換します。
関数の引数、戻り値は以下のとおり。
(MSDNから抜粋)
2 バイトのマルチバイト文字を対応する 1 バイトのマルチバイト文字に変換します。
unsigned int _mbctombb(
unsigned int c
);
ということなのですが、この関数、引数に2Byteのマルチバイト文字を取るわりに、
何故か型がunsigned intになってるんですね・・・。
char配列からunsigned intを直接取得する方法ってあったっけ、、、と思いつつ、
現状で思いつく限りで、以下のような使用にいたる。
しかし、今よくよく考えてみると、sprintf使えば、できたような気もしなくない。
/*!
* _mbctombb関数の使用方法
*/
using namespace std;
int main()
{
/*
1Byte文字に変換をしたい、2Byte文字を代入する。
後々のビット演算のためにunsigned charしておく。
*/
const unsigned char s[10] = "”";
}
あまりの眠さにパソコンのやる気さえ妨げられ、
パソコンの前にいても、頭がほとんど回転していない、という状況。
やっと、今頃になって、意識がはっきりとし始めてきたが、
さて、今からどうすごそうか・・・。
もういっそ、寝てしまおう、という気ばかりが起きてくる。
さて、今日ですが、帰りに自転車でこけて、また怪我をしました・・・。
切り替えを一気に切り替えたら、切り替え時の衝撃に耐え切れずに、
こけてしまいました。
で、まぁ、こけたことはいいとして、損害状況なのですが、
まず、かごが大破・・・と言っても、元々壊れていたので、
最初から取替えを予定していたので、実質的な被害なし。
自転車に関しては、大きく言えばそれくらい。
(若干、ハンドルのずれが認められるような気もするが)
一番問題なのは、自分の体の方で、先週怪我をして、
最近になってやっと固まり始めてきていた怪我が、
今回、同じところをすってしまい、お察しください、な状況になりました。
はぁ・・・、まぁ、起きてしまったものは仕方ないか。
おし、文章かいてるうちに頭がさめてきた。
少しプログラミングして、寝ることにしよう。
9時半ごろだったか、気づいたら寝てしまってて、起きたら11時。
せっかくのパソコンやる時間が・・・と思いつつ、気づかぬ間に
再度睡眠へ・・・。
そして、1時半ごろ起きて、このときは何とか起きあがることができた。
しかし、よくよく考えてみると、10時に寝て、5時に起きたら、
7時間睡眠となるわけに気づく。
結局、何が言いたいかというと、どこかしらで寝てることは寝てるんだな、と思った。
さて、今日からは補講。
いつもと違って始業が20分近く早いので、気をつけないと遅刻する。
何かとやる気のない一日だった。
学校で自習してたら、いろいろなことで唐突に腹立たしくなったりした。
勉強も最低限のことだけやって、それでおしまい。
こんな日は、二度とまでは言わないが、できるかぎりないようにしよう。
ところで、英語の単語のテストとかで、「object」を「オブジェクト」って書くのは誤りですかね。
友人に言ったら、さすがにそれはあまり言わないと思う、と言われ、
果てには職業病だと言われました orz
いや、本当、自分の中ではそれで正しいとしか認識できなくなってるんですが・・・。
「オブジェクト」と言う、言わない、どうなんでしょう?
Free Typingの作業ディレクトリがリビジョンを変えたりとか、
ブランチとトランクを行き来しているうちに、状態が
めちゃくちゃになってきたので、バックアップとって、
きれいさっぱりと作業ディレクトリの再構築中。
どうにも、新しくソースファイルを追加したりしても
つい、面倒くさがってSubversionのほうに登録しない癖が悪い。
Visual Studioと完全に機能が統合されていればなぁ。
Visual Source Safeは高すぎるし・・・。
しかし、今作業中のブランチのファイル構成がおかしいような。
無駄なファイルまで含んでたりとか、Doxygen用の
コメント出力の構成が消えてたりするし・・・。
怠慢しすぎた自分が悪いのだから、自業自得だ。
まぁ、明日続きの作業でもしますか・・・。
そういや、唇の腫れはまだ治らない。
明日気が向いたら皮膚科に行ってくるかなぁ。
正直、面倒くさい・・・(←既に上の教訓を忘れてる
病院行くにしても、祝日なのでやってないようで、
第一、行くのが面倒くさい。
ということで、ざっとネットで検索してみたのですが、
思いっきり心当たりのある記述を発見。
一部抜粋(抜粋元:http://mmh.banyu.co.jp/mmhe2j/sec08/ch110/ch110b.html)
「非遺伝性の原因としては、多形紅斑、日焼け、寒い乾燥した天候、
外傷などによっても唇が腫れます。」
この中の「日焼け」という項目、まさにこれです。
先日のクラスマッチで、(一日単位での相対的変化では)ここ数年
見たこともないような日焼けの仕方をしたので、おそらく、
これが原因ではないだろうかと思います。
さらに、いろいろと調べてみると、即日で発症するわけではなく、
2,3日経ってから発症するという事例も発見。
(もしかしたら、この発症の仕方が一般的なのかもしれない。
そこまで言及しているサイトが無かったので、断片的な情報)
対処法も一応書いてあって、冷やすといいとのこと。
ということで、この記事を3時ごろ見つけて、それから
適度に冷やしているのですが、あまり変化なし。
まぁ、明後日まで様子見てみて、治らないようなら病院行ってこよう。
しかし、問題は明日の学校なわけだが、注目しない限り
わからない程度なのかもしれないなぁ。
第一、その程度で休んでると別のところで支障が出てくるだろうし。。。
ぅ、明日の天気見てみたら、ずっと弱雨だ・・・。
はぁ、やだなぁ、行くのが面倒。
今日見つけたソフトをメモしておく。
Wink - [Homepage]
http://www.debugmode.com/wink/
デスクトップのキャプチャを取ったり、それにボタンや
効果を付け加えて、編集したりするソフト。
Flash形式で書き出しができるので、ソフトウェアのマニュアルに
用いたりとか、スクリーンショットの代わりになりそう。
Amazon.co.jp: Visual Studio 2005 Academic Edition: ソフトウェア
http://www.amazon.co.jp/gp/product/B000CSRIZ0/250-0943113-0188230
値段が4850円ということなので、the Spokeと同じような位置づけと思われる。
ちなみに、内容はStandard相当ということらしい。
Microsoftが以前にアカデミック版は販売しない、って言ってたけど、
あれは、Professionalバージョンや、Standardバージョンの
アカデミックライセンスは販売しない、という解釈になるのだろうか。
SourceForge.net: Windows Template Library (WTL)
http://sourceforge.net/projects/wtl/
WTLの存在は以前から知ってたけど、SourceForgeに
登録されているというのは、知らなかった。
まぁ、気が向いたら使ってみたいと思う。
判明している限りでの不具合の修正は完了。
とりあえず、修正箇所一覧のメモ。
・キーボードの表示の設定を変更するとおかしくなるのを修正
・一部キーの変換が正常にできなかったのを修正
ちなみに、先に書いた以下の二点については、自分の勘違い。
・exit()、PostQuitMessage()の引数が正常ではない
・CPlaneのデバイスコンテキストハンドルの開放が正常に行われていない
CreateCompatibleDCで作成したデバイスコンテキストハンドルは、
DeleteDCで開放すればいいんですね・・・。
近くに、ReleaseDCしてるものがあるから、てっきり
こっちを使わないといけないと思った。
あと、実装予定の項目。
・カタカナで表示するようにする
まぁ、バイナリの公開は来週ぐらい、ソースコードの公開は
再来週ぐらいをめどに考えています。
話は変わって、VCでメモリリークを調べる方法。
_CrtDumpMemoryLeaks という関数を使うと調べることができるようです。
まぁ、詳しくは関数名で検索してみれば、情報はごろごろ出てくると思います。
しかし、自分の環境だと、以下のような出力になって、
ソースの位置を教えてくれないんだよなぁ。
どうしてだろう。。。newをオーバーロードしてないからかな。
Detected memory leaks!
Dumping objects ->
{195} normal block at 0x003F6A00, 88 bytes long.
Data: < ^ > DF 1C 01 8C EE 13 03 00 FE 01 00 00 5E 01 00 00
{189} normal block at 0x003F6670, 88 bytes long.
Data: < ^ > 0B 1C 01 D7 EE 13 03 00 FE 01 00 00 5E 01 00 00
Object dump complete.
まぁ、気が向いたら調べてみることにしよう。
さて、そろそろ寝ようかな。
これから、あまりパソコンを使う時間を取れなくなると思うので、
大学合格が決まるまで開発を凍結したいと思います。
Free Typingについては、以下の点について、
修正・追加を行ったものを最終バージョンとしたいと思います。
現状で把握している不具合の修正
・exit()、PostQuitMessage()の引数が正常ではない
・CPlaneのデバイスコンテキストハンドルの開放が正常に行われていない
・刻印非表示時に表示がおかしくなる
・「jha」などのキーがおかしい
要望として出されている機能の追加
・カタカナで表示するようにする
他のソフトウェアについては、現状のものを最終バージョンとします。
ただし、どの項についても、致命的な不具合が発見された場合、
修正することを検討していくようにします。
と、こんな感じだろうか。
一応、Readmeとかにも一部記載しておくことにしよう。
うーん、どうにも、生活のリズムがおかしくなりそうだ・・・。
9時ごろに、どうにも眠くて30分ほど仮眠を取ろうとしたけど、
目覚ましをかけたにもかかわらず、起きることができず。
しかし、1,2ヶ月前までは、すくなくとも、自分が目覚ましを
止めたという行為をおぼろげながら覚えていたのですが、
最近は、ほとんど思い出すことができない。
寝るときも、単語帳を持ったまま寝てたとか、
ちょっと前にもあったし・・・。
(さすがに、これは寝る体勢がおかしくなりそうだから、
その状態になる前にできるだけ避けようとしてるけど)
あとは、昨日だと、扇風機をつけたまま寝てたりとか。
(もろに自分の方を向いた状態でついてた orz)
そんなこんなで、睡眠に対する変化が最近になって
見られるようになったわけですが、
この状況が悪いのか良いのか、よくわからない・・・。
この状況で、一番困るのは、仮眠ができないことだろうか。
うーん、それも困るなぁ。
てか、今からどうしよう。
21時に寝て、0時半に起きて、あと2時間寝れば、全体としては
5時間になるから、それくらいが目処かな。
そうすると、今から2時まで夏休みの計画を立てて、
2時から3時まで、化学の課題をやる。
そこから、2時間寝て、5時に起きれば、2時間睡眠か。
話は変わって、何か、気づかぬ間に唇がはれてたりします。
まぁ、元々唇が細いわけでもないので、ぱっと見ただけだと、
そんなに変化がわかるわけでもないと思う。
しかし、何でこうなったのか、理由がいまいちわからないんだよぁ。
運動していないときにいきなり運動したのが原因か、
胃の系統で悪い部分があるのかなぁ。
まぁ、別に、今回初めてというわけでもないから、
放っとけば治るだろう。
さて、雷がごろごろなってるけど、がんばるとしよう。
しかし、雷が鳴ると滅茶苦茶怖い・・・。
もちろん、その怖い理由というのは、
落雷によるサージを危惧しているわけですが。
でも、結構切実かもしれない。
雷なることに、心の中でおどおどしてるし・・・ orz
まぁ、気が向いたら(?)サージ対策付の
電源タップを買おうかな。
昨日は横になってたら寝ちゃって、日記を書いていない。
ということで、軽くメモしといて、やる気があったら、
今晩あたりにでも、詳細を書くことにしよう。
・日焼けがひどい→数人の先生に同じようなことを言われる orz
・結局、日が照りつける中サッカー。そして、怪我。
・寝てしまう。
まぁ、こんなところか。(かなり暗号だが)
さて、今から補講。
こんな雲ひとつない青空の下を、汗をたらたら流しながら
学校行くと思うと、今から憂鬱である。
というか、むしろサボりたい orz
二日目、というか、最終日です。
まあ、単刀直入に、全体の結果としては、
あまり良い結果を残すことができませんでしたが、
楽しめていたのでよかったのではないでしょうか。
よくよく考えてみると、クラスマッチは今回が最後だったわけで、
そう考えると、何かしら感慨深いものがあるかと思います。
さて、クラスマッチで後悔したことといえば、日焼けのひどさ。
首周りとか、服がすれたりして、かなり痛いので、
先にある程度手を打っとけばよかった、と後悔 orz
まぁ、、、今痛いだけで、後々響くわけでもないので、いいですけど。
とりあえず、明日の体育が体育館で、バレーであることを願おう。
外でサッカーだとかいって、これ以上日焼けしたらかなわない・・・。
疲れたー(16時6分)
ということで、今日はクラスマッチでした。
まぁ、自分は、いろいろとあってバスケットをやっていました。
(というのは、クラスマッチの選手を決める側の立場だったので、
後に用事を控えてるのもあって、微調整するのが面倒だったので、
空いているところに入ったとか、言い訳をしてみる。)
結果は、お察しください、ですが、悪くは無かったんじゃ
ないかなぁ、と思います。
しかし、最近ずっと外に出てなくて、いきなり今日一日中外にいたら、
すごい日焼けをしたよ・・・。
日焼けをしたところと、(服で覆われてて)日焼けをしてないところと
比べると、一目瞭然。
まだ今のところは、日焼けの痛みだけだろうけど、明日は
筋肉痛が加わってきそう・・・。
そういや、よく考えてみると、今日はやたらとやけどをしたような気がする。
朝は朝で、ボーっとしてたらスープを足にこぼして、少しやけどしたし、
その後、再度作り直して飲んだら、舌を少しやけどした・・・。
そんでもって、日中で体中を経度のやけど状態にしているわけだから、
かなりやけどをしていることになるなぁ。
まぁ、クラスマッチについてはそんな感じです。
その後、疲れた中で図書室行って、勉強していました。
そんな中で、ちょっと気になったところを先生に質問を
していたのですが、質問をして回答を聞いた後、ぼそっっと
先生が一言。「考えてる間に寝ちゃった。」と。
「えっ」っと思って、先生もやっぱり疲れてるんだなぁ、と感じました。
しかし、寝てた、と言ってる割に、さほど解く時間が遅いわけでもなく、
自分の考えていた時間よりかはかなり早いので、すごいと思う。
まぁ、先生が寝てる(考えている)間はというと、目の前にあった
ノートパソコンを眺めていて、ノートパソコンにAMDのシールが
張ってあって、これってどうなんだろうか、と少し考えていた。
なんというか、AMD = 発熱量がかなり大きい、という感じがするので、
そんなの、ノートにのせたらどんな風になるんだろうか、と思った。
別に、前々からAMDのCPU載せたノートがあるっていうのは知っていたけど、
改めて目前で使っているのを見てると、どうなんだろう、って考えたわけです。
後は何か書くべきことあったかな。
そういえば、Pocket PC用の日記書き込みソフトで、
起動したままの状態でスリープ状態(電源ボタンを押して電源切った状態)から
復帰しようとすると、SDカードの初期化が終わる前に、
ソフト側で保存を実行しようとする関係で、Exceptionが出てしまう。
まぁ、原因はExceptionを処理してないからですが、
そんなに頻度も高くないだろうし、一応メモだけのことしておこう。
さて、これくらいだろうか。
頭が痛いのは少し寝たら治ったけど、別の理由でも
頭が痛いような気がする。
Free Typingの不具合修正(これが本当に痛い)とか、
文化祭のこととか・・・。
まぁ、がんばっていこうか。
たとえば、「じゃ」と打つときに、人によって打ち方が異なり、
「jya」「ja」「zya」という風に、複数の打ち方があります。
Free Typingでは、それぞれユーザーが切り替えて、設定をするようにしています。
ただ、これだと、その設定した文字しかうつことができないので、
若干不評だったりします。
で、どうしたらいいだろうか、ということですが、
ぱっとみて、法則性が見当たるのは、最後の母音は
どの設定でも変わらないというところだろうか。
「じゃ」なら先頭文字は「j」か「z」だろうし、
結構限定することは可能と言えば可能。
ただ、今のソフトウェアの構造からいくと、
ひらがな→ローマ字変換がリアルタイムに行われているわけじゃなくて、
タイピング開始時に先にまとめて変換してしまうので、
現状でこの方法を実装するのはかなり面倒。
んー、設計でミスしてるのかなぁ。
もうちょっと、深く考えてみることにしよう。
ところで、そんなこと書いてて、Free Typingで検証しながら
日記を書いていたのですが・・・重大なミスを発見。
「じゃ」の変換の候補が、何故か「ja」「jha」「jya」となっている・・・。
何が間違っているかと言うと、真ん中のやつは存在しません・・・。
かなり痛いミスだなぁ、、、一応、デフォルトは「jya」になってるものの、
どういう風に修正を行うか・・・。
何をだらだらしているのだろうか、自分。
テスト終わってから勉強時間が以前に比べて
少なくなってしまっている。
まぁ、原因を求めるのはやめておこう。
ある意味明白だし、思い返すだけ時間の無駄だ。
今日から以前どおりの生活に戻すことにしよう。
ところで、何か昨日制服のズボンを見たら、なぜか、
ガムがすそのあたりについてました・・・。
何で、あんなところについているんだろうって思うんですが、
ガムが泥を跳ねたときのように、一箇所じゃなくて数箇所に
ついてるんですね・・・。
自分自身は学校ではほとんどガムは食べないし、第一、
床に落ちてるのを踏んだわけでもないだろうし、、、
不思議だ(==
先ほどまで文化祭の資料を作成していました。
まぁ、大枠の部分は完成しましたが、細かい部分はパソコンでやるんじゃなくて、
話し合いながら書き込んでって、後から修正することにしようと思う。
まぁ、そんなことはどうでもいいんですが、正直、クラス単位の
出し物でここまで設計する必要はあるのでしょうかね。
一応、出し物は「お好み焼き」なので、かなり保健所の目とか、
担当の先生の目はかなり厳しいです。
先週、わざわざテスト週間中に徹夜してまで作業してたのは、
期限切れたら、参加しないとみなされる、ということだったので、
ぎりぎりの中で作業をしていたわけです。
別に、今作っている資料は保健所に見せるわけでもなく、、、
今までに、(食物バザーの準備の様子は見たことはないが)こんなに
詳しく資料を作ってたりしたのは見たことないなぁ。
んー、少なくとも、生徒側じゃこんなことをやらないっていうのが、
自分から見た感じなのかなぁ。
教員なら(というか、社会でて企画を行うとき、と言うのが正論だろうか)
書類に書いたりするわけだし、そういう意味では、徒労というわけではないか。
なんだろうねぇ、周りからの視線の問題だろうか。
何か、自分がこうやってちまちまと資料ばっかり作ってると、
勝手に一人で馬鹿みたいにはしゃいでいたりとか、
そんな感じがしてしまうんですよね・・・。
まぁ、それでも、設計でミスって失敗するよりましだろうか。
てか、考えすぎかもしれないな。
別に、周りの人間がそうやって言っているわけでもないし、
第一、別に周りから奇異に見られてたとしても、やってること自体は
いたって普通のことなわけだし。
俗に言う、日本人の体質どうこう、っていうのも、、、
さて、そろそろ寝るとしよう。
ぅー、昨日久しぶりに体動かしたから、
体の節々が少し痛む・・・。
まぁ、足の辺りとかは大丈夫だし、
方から手にかけての部分とか、腰とかだから、
そんなにひどくもないか。
最近、物事を忘れやすい。
というより、覚えることが多くて、たまに取りこぼす orz
なので、ActiveSyncを無線経由で接続できるようにして、
Outlookと柔軟に連帯を取れるようにしてみる。
ActiveSyncの機能の中にネットワーク経由での
同期をする方法についてのメモ。
まず、ActiveSyncのバージョンを確認。
バージョンが4.1以降だと、できないはず。
自分は、4.1を削除した後3.8を再インストール。
「ファイル」→「接続の設定」のなかの「ネットワーク...」の
項目がチェックされていることを確認。
Pocket PCのActiveSyncを起動して、同期をクリック。
このとき、社内LANうんうんと聞かれたら、
ネットワークの設定のプライベートネットワークの設定を
社内LANではなく、インターネットに変更する。
たまに競合して同期ができなくなる場合がありますが、
そういう時は、グレードルの方に直接接続して、
競合を解決してから再接続すれば大丈夫っぽい。
(もしかしたら、違う原因の場合もあるかも・・・。)
今日は、やっとのとこでテスト終了。
ということで、友人と思いっきり遊んできました。
まず、なんとなくバドミントンがやりたかったので、やった。
さすがに、3ヶ月以上バドミントンやってないし、そもそも、
運動自体も週に二度ある体育だけ、という状態だったので、
すっかり、体が動かなくなっていた。
(元々、ほとんどできなかったけど、それよりもさらにひどい)
まず、30分ぐらいやったんだけど、もうその状態でへとへと。
少し休んで、1時間半ぐらいやったんだけど、もう最後の方なんて
へとへとで握力がほとんど無くて、動くのが精一杯、といった感じだった。
その後は、駅前の本屋行って参考書を三冊ほど買ってきて、
それで財布の中身がすっからかん。
帰宅した後は、プログラミングしてソフトのコメントを
加えてみたり、いろいろと手を加えてみる。
しかし、、、Visual C++ 2005にリファクタリングの
機能がついてないのが少々心細い。
C#とかなら、その機能がついてるし、実際使ってみると
結構重宝したりするんだけどなぁ。
音楽聴いていると、音声がぶちぶちきれてすごく不快。
何でだろうなぁ、マシンの処理能力が無いPocket PCで
再生してるわけじゃないんだから、そんな現象が
起こると言うのも珍しいような。
なんだろう、気づかぬ間に粗悪なコーデックでも
入れちゃったかなぁ。
一応、ドラバを更新してみることにしよう。
ドライバの更新完了。
これで何とかなるだろうか・・・。
ドライバの更新はあまり効果がなかったみたい。
んー、ffdshowで使用するデコーダーをかえて見るか。。。
何か、だんだん、デコーダーとかそういうレベルの
話じゃないような気がしてきた。
もしかしたら、多分違うと思うけど、ハードディスクの
読み込み遅延で音が一時的に
飛んでるってことは、、、さすがにないよなぁ。
んでも、症状的には、ハードディスクの電源が自動的に
切れるような設定にしておいて、電源が切れて
再度つけようとしたときのいったん止まる状態に
酷似しているといえば、そうかもしれない。
まぁ、ちょっと様子見てみようか。
さて、まぁ、遊びもここら辺にしておいて、
明日からはまた受験勉強再開。
がんばっていこうと思う。
棚からぼたもち。
前日に先生に補講の申し込みの確認をするように言われてて、
忘れていたわけだけど、次の日の朝に一部説明に
不備があったらしく(自分には関係なかったけど)、
確認の用紙を先生がたまたま持ってきていたのでそのときに確認。
再度職員室に行くはめにならなくてよかった。
文化祭の企画用紙の変更について聞かないといけないことがあったけど、
2時間目のテストの時間に監督の先生として、担当の先生がきていたので、
その折に聞いておいた。
テスト週間だと職員室に入りづらいので本当に助かった。
というか、その先生、別に教科担任というわけでもなく、
2年生の担当の先生で3年生とはほとんど接点を持ってないはずだけど、
どうして来たのだろうか・・・。
まぁ、自分としてはいいほうに転んだわけだが。
というのが、昨日あった出来事。(19時50分)
眠い。
しかたないので、日記書きながら眠気ざまし。
さて、明日でやっとテスト終わりだ・・・。
とりあえず、明日の午後は久しぶりに友人とバドミントン。
多分かなりなまってるだろうなぁ。
昨日は、10時ごろにうとうとしだして、1時間寝て、
そっから1時間おきて、さらに12時ごろから1時半ごろまで、
気づかぬ間に寝ていた。。。
ぁー、なんか変な体勢で寝てたら体の節節が痛い。
そういや、今日ディスかバリー打ち上げだって言ってたと思うけど、
それはどうなったんだろう。
断熱材が動向って言ってたkど、それも気になるなぁ。