You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
#include <stdio.h> #include <string.h> int main() { char str[] = "日本語サンプル"; int length = strlen(str); printf("1文字目: %c\n", str[0]); printf("長さ: %d\n", length); return 0; } このように、単なるchar型として扱うと日本語を上手く処理できない。まあ、日本語が2バイト以上で表現されているので当たり前といえば当たり前なんだけど。 そこで、C/C++で上手に日本語を処理するための方法を2通り紹介したい。 ワイド文字を使う ワイド文字は、16ビット固定長で表現される多言語文字体型のことである。 C言語では、wchar_t型を用いてワイド文字を扱うことができる。 しかし、ワイド文字を扱うには、ロケールの設定が必要である。日本語だけ扱い
パーサジェネレータ caper "caper" (github)は拙作のパーサジェネレータです。yaccやbisonなどと同じ場所で使うツールです。 基本的にはC++コードを生成するために作ったのですが、そのほかにもJavascript, D, Java, C#などのコードを出力することができます。 特長 大きなところでは、こんな特長があります。 出力コードが全部テンプレートクラスでヘッダファイル一つなので、ライブラリなどをリンクする必要がない 出力コードが大変ヒューマンリーダブル(手書きで書いたと強弁できるLALRパーサ、というコンセプト) PUSH型(パーサは常に受身で、トークンをポストするまで動かない) そのほかの特長については、http://jonigata.github.io/caper/caper_more.html を御覧ください。 歴史など このソフトは結構古いソフトで、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く