読者です 読者をやめる 読者になる 読者になる

Clojure でファイルに文字列を書き込んでみる

Common Lisp でファイルに文字列を書き込むにはこのようにすればよかったんですが: (with-open-file (output "hello.txt" :direction :output :if-exists :supersade) (printc "Hello, World!" output)) ちょっと長すぎますよね。 Clojure ではこんな感じで…

どっとねっとの(ファイル|ディレクトリ)操作 API がふんにゃかへんにゃかした

きっかけは、PathTooLongException を、catch 句が拾ったからだった。 問題のパスはファイルも合わせると、266 になってしまうようだ。 ファイル名だけで 91 文字とか、あふぉだr(ry ゲフンゲホン、91 文字もあるのがいけなかったようだが、MAX_PATH が 260…

`FileStream' の話

C# io

ストリームを閉じる(close)ときにフラッシュ(flush)されるらしく、 閉じないとき──うっかりとかしょうがなくとか──ときは空のファイルが作られるだけ。 何らかの問題で、閉じたくないときは書き込む毎にフラッシュしておこう。 # もしくは、StreamWriter#Aut…

inode を取得しようとしてみた

とある必要にかられて書いてみた。 #include <stdio.h> #include <io.h> #include <sys/stat.h> #include <fcntl.h> #include <memory.h> int main(int argc, char* argv[]) { if ( argc < 2 ) { return -1; } struct _stat stat; memset( &stat, 0, sizeof(struct _stat) ); int fd = _open( argv[1], _O_R</memory.h></fcntl.h></sys/stat.h></io.h></stdio.h>…