2010-01-01から1年間の記事一覧

やっぱりwcharは使いづらいかも・・・。

C++

少し間があいてしまいました。 前回、次はC++じゃない話を・・・と書きましたが今回もやっぱりC++の話です。 C言語やC++でも、日本語のようなマルチバイト文字列を扱おうという話になった時に、まず選択肢としてあがるのがwchar型でしょう。 wchar型で扱えば…

C++で文字列のsplit

C++

つい最近、C++の文字列splitが必要な場面がありました。 いい加減C++のsplitを毎回書くのが面倒になってきましたので、忘れないようにメモっておきたいと思います。 C++でsplitを書く方法はいくらでも方法があると思いますが、代表的な実装例をあげてみます…

日本語文字コードを判別するプログラムを書いてみた。

C++

日曜日は、モンスターハンターを新宿ヨドバシまで買いに行ったら売りきれていて、仕方なくプログラミングしてました。 そういえば、僕はずっと前から日本語文字コードを判別するプログラム書きたいなーと思っていたのでした。 まぁ、実はNKFやらICUやfirefox…

UTF8の文字数を数える

C++

つい最近、UTF8文字列を扱う処理を書いたのでその実装方法についてのお話です。 今日の問題設定は、天下一プログラマーコンテストの例題でも有名になりましたが、UTF8の文字数カウントです。 UTF8の文字列形式について詳しくはWikipediaを見て頂ければいいか…

Amazon S3を使ってブログの無料バックアップ

動機 一般的なブログサービスを利用していれば、データが消えたりといった問題を気にする必要はありません。 ですが、私の場合、ブログのデータ及び、.zshrcや.emacs各種設定ファイルもレンタルサーバ上で管理しているため、データが消えた場合の復旧方法を…

C++メタプログラミングについて思ったこと

前回使用したプリプロセサの話をちゃんと解説した方がいいかなと思ったのですが、下記の参考文献がわかりやすく、そちらを参照して頂ければ十分かと思うので省かせてもらいます。 Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング Di…

可変長引数の関数を書こうとした話

C++

Motivation 動機は構造体をバイナリ形式でファイルに書き出したい、ただそれだけの他愛もない話です。 何も考えずに書くと以下のようになります。 struct A { uint8_t b; uint32_t c; }; A a = {'a', 3}; fwrite(&a, sizeof(a), 1, fp); このコードを実行す…

constとメモリ構造の関係性

C++

今日は会社でコードレビュー(僕が書いたコードではない)があったのだが、その中であった指摘にconstを使うと読み出し専用領域に置かれるけど別にconstつけずにスタックに置いてもいいんじゃないか?という話があった。 ちなみにコードは下記のような感じ。 #…

En Google For Safari作ってみた

mac

このリンクからダウンロードしてください。 最近買ったmacbook airではGoogle ChromeやFirefoxではなくApple純正ブラウザのSafariを利用しています。 同じWebkitエンジンということで、普段使っているGoogle Chromeと使用感はあまり変わらず、快適です。 た…

C++の落とし穴

C++

ふと思い立って、C++ pitfallsを翻訳してみました。 原文は1997年に書かれたもので、時代を感じさせますが、今現在でも通用するC++の問題点、対処法が書かれているのではないでしょうか。少なくとも僕は、このドキュメントを読むまで知らなかったことがいく…