>>484
一体誰が文字列の中に "\0" を入れ始めたんだろうか…
要らんですよ。

char fn[9] は、その関数の中にしか存在しません。
(文字列への) ポインタを返すなら
 1. static char fn[9] にして、関数を抜けても無くならないようにする。
 2. 文字列へのポインタを引数で貰う。
 3. malloc() 等で動的にメモリを割り当てて、そこに文字列を格納して返す。

のどれかでしょう。マルチスレッドなプログラムで無ければ 1. が最も
簡単ですね。