2009/06/29

[C]文字列操作でのメモ −\0 は大事です

今日は,後輩にCでのコーディングについて質問されてちょっとはまったので,メモ.



と並んでいるデータの最後に,';'をつけたいとのこと.
なんでそういう処理にCを使うんだよ,とかいう突っ込みを飲み込みつつ (笑)
fgets()で一行ずつバッファに読み込んで,一行ずつファイルに書き込むことはできたらしい.

(1) strcat()を使えば? と言うと,改行の後に';' が連結されてしまうらしい.

しょうがないので,
(2)for でバッファをひとつずつ知れべていって,'\n' だったら';'に置き換えて,
次の配列に'\n' を代入すると?
出力されたデータにごみが混ざる,と.

そこで,
(3) 代入じゃなくてstrcat()を使って '\n 'を付加すると? うまくいったらしい.

(2) と (3) で何が違うのか悩んだけど,要するに(2)だと'\0'を上書きしてしまっているので,
バッファの出力をするときに文字列の終わりまでじゃなくて,バッファ全体を出力してしまったということらしい.
strcat()は,そこらへんを良き様に計らってくれてた,と.

いや,Cで文字列操作なんてあんまりやらないから,\0のことは大して気にかけてなかったわけです...
(件の後輩は,\0のことは知らなかったんだけど..これだから最近の若 ry..)
for でひとつずつバッファの中身を調べるって,あんまりスマートじゃない気がするのだけど,
ほかに何かいい方法はあります?

というか,こういうデータの処理はCよりもrubyとかperlとか使うべきだと思います,はい.

2009/06/26

Transformers 2


昨晩,研究室で知り合った学生が
”今日これから Transformers 2 見に行くんだけど,どう? 英語だよ”,
と誘ってくれたので,のりでついていくことに.

霧雨っぽい雨が降る中,映画館まで.
日本の梅雨の蒸し暑くない感じの天気だったんだけど,
”この辺では,こういう天気はめずらしい”とのこと.

映画館の前で,誘ってくれた学生の友達とも落ちあって,いざ,上映.

混んでたので席は前から2列目..
スクリーンが近すぎたせいもあってか,
戦闘のシーンとかは,かなりめまぐるしい感じで,酔った 笑
1作目は見てなかったし,
正直,せりふも多分半分ほどしか理解できなかったけど,
映画のストーリー自体は複雑ではなかったので,大体理解できたかと 笑
一緒に見てた友達の友達は,
"オスカー取れるでしょ"というようなこといってたけど,どうでしょ..
まぁ,某奥様ほどはまる人もいるみたいなので,それはそれで..笑

映画館でみた感想としては,
”みんなで見てる”という感じで楽しかった.
ジョークやギャグ的なシーンではみんなで笑ったりはやし立てたり,
最後は拍手だったり.
日本の映画館では,割とみんなお行儀よく見てるから,新鮮でした.


2009/06/21

skype 初体験


ハンブルグ時代の友人が,香港で働くことになったという連絡をくれたのが数週間前.
じゃ,落ち着いたらSkype でも,ということに.

で,本日 Skype で通話を初体験.
僕のPCの回線が遅いこともあってか,結構遅れるなー,
という印象だったけど音質は特に問題なし.
ミュンヘン - 香港間で音声チャットとは,なかなか不思議な感じ 笑

IM は,最近はクライアントに Pidgin を使って
MSN, Facebook, GoogleTalk にログインしていて,
Skype にはあんまりログインしてないんだけど,
Skypeアカウント持ってる人は,Skype me!
(多分,メールアドレスで検索できます)


[maxima]数式表現で優先順位をつけて置換させる

maxima で優先順位をつけて項の置き換えをする.

例えば,ある数式exがあって,

のように置換させ,かつ

と確実に置換されるように優先順位をつけるには.


とすれば,rule_C -> rule_A -> rule_B
の順に優先される,はず.

2009/06/16

Andechs


日曜はミュンヘン郊外のAndechsへ.
こっちの研究室で自転車ツアーが企画されてたのだけど,
こっちには自転車がないので,僕は S5 の終点 Herrschnig からハイキング.
森の中を通り抜けるハイキングコースを5kmほど行くと Andechs.に.
バイエルンの代表的な観光地だそうです.まったく知らなかったけど 笑

Andechsには,丘の上に Kloster (修道院?)があって,
その周りに Biergarten やらお土産屋やらがあって,
こじんまりとしてるけど,なかなかいい雰囲気の場所です.

自転車できたみんなと Biergarten でおちあってわいわいがやがや.

帰りもまたハイキングコースを通って帰宅.

なかなか素敵な一日でした.

Andechs


2009/06/06

Google translation はドイツでもあんまり人気がないらしい..


僕個人では,翻訳サイトはほとんど使わないのだけど,
論文なんかを英語で書いたときに,
英語がちゃんとかけてるかチェックするために(ちゃんと意味が通る日本語になるか)
英語 -> 日本語に翻訳してみる,というテクニックがあります.
で,エキサイト翻訳ライブドア翻訳あたりは
まだ許容範囲だけど,
Google翻訳はどうしようもない,というのが印象です.

今僕が通っている研究所に,インドから短期できている学生がいるのだけど,
彼が,住んでいる学生寮の掲示板に,自転車を売ってくれる人募集しています,
というような案内を出してみようかな,という話になったときに,
”ドイツ語はできないけど, Google translation を使えばなんとかなるよね"
というようなことを言ったら,ドイツ人が,
"Google translation を使うくらいなら,英語で書いたほうがいい.
あのドイツ語はひどいし,学生なら大抵英語はできるから."(意訳)
と 笑

最近,Google waveが発表されて,
そのなかで,チャットのリアルタイム翻訳のデモがあったようですが,
この感じだと,ここにはあんまり期待できないような..