艦これ そろそろ3周年

2013年の7月後半あたりから始めたので、そろそろ3周年っつーことで全晒しレベルソート
縛りは特に設けていない。

艦娘一覧_000
今のところ全部揃ってるはず。
ダブリは潜水艦とちとちよ、大鯨龍鳳くらいかな。
あ、まるゆは餌なので。
Lv50の雲龍は牧場しようとして設計図使うのためらってたら居座った感じ。

某氏より若干低いかな。
今年に入ってからレベル上げとかEOとかしてないしなぁ。ランキングとか全く考えてないし。

swprintf → swprintf_sに移行したらメモリ破壊した

VC6のプロジェクトをVS2010にする作業をしているのですが、

warning C4996: ‘sprintf’: This function or variable may be unsafe.

みたいな警告が出まくるんですよね。
これは「sprintfとか古くてセキュリティ的にヤバイからsprintf_s使え」みたいな意味で、別にそのままでも使えないことはないけど、
「_s付きのに移行せよ」
って指示を受けたのでせっせこ移行作業してるんですよ。

どうせならVS2015とかにしてくれてもいいのい。

で、_s付きのって大抵、

char buff[20];
int val = 10;
sprintf_s(buff, sizeof(buff), "%d", val);

みたいな感じで第一引数のバッファのサイズを第二引数に渡すだけなんだけど、swprintfを同じようにswprintf_sにしてみたらメモリ破壊してくれた。

wchar_t buff[20];
int val = 10;
swprintf_s(buff, sizeof(buff), "%d", val);

これでメモリ破壊が起る。

コレ、正解は

swprintf_s(buff, 20, "%d", val);

sprintf_s系の第二引数はバッファサイズじゃなくて文字数なんですね。
MSDNには

sizeOfBuffer
  格納する最大文字数。

MSDN

って書いてある。引数名が罠。
VS2010で関数にカーソル当てると出てくるチップでは「size_t _SizeInWords」って書いてあった。こっちならまだ解ったのに。

これ案外引っかかりやすそうな罠だと思うんだけど、ググっても出てこないんだよね。
みんな引っかからないのかな。
私がヘボいだけなのか。

椅子買う

メーカー組立完成品 エルゴヒューマン プロ Ergohuman Pro ハイタイプ エラストメリックメッシュ EHP-HAM KM-11 ブラック EHP-HAM-HB-KM-11
フロアシート 1800×910×1.5mm(1畳サイズ) クリア A712

つい先日10万超えの買い物したばかりだっていうのに、またこんな高い買い物。
なんかマンション買ってから金銭感覚狂ってる気がする。ヤバイ。貯金ヤバイ。

続きを読む

近況と買い物

引っ越しました。同じ区内だけど。

今まで済んでたところが老朽化で取り壊すから出てけと言われたのでね。
マンション買ったのですよ。中古だけど。
おかげて貯金が全てふっとんだ。
今なにかあったら死ぬわ。

あと買い物。
歴史秘話ヒストリア 幻の巨大潜水艦 伊400 日本海軍 極秘プロジェクトの真実 [DVD]
父親が欲しがってるそうなので。

引っ越し終わるまで買うの控えてたモノ
天空の扉(8) (ニチブンコミックス)
魔法少女プリティ☆ベル 18 (BLADE COMICS)
魔法少女プリティ☆ベル 19 (BLADE COMICS)
モンスター娘のいる日常(10): リュウコミックス
ドリフターズ 5巻 (ヤングキングコミックス)

正直Kindleでもいいんだけど、コミックで買い始めちゃってるものを途中で電子にするのはちょっとね。