ちょっとねー。。
char s[256]; … (処理) … strncpy(s, "", 256); // 初期化
こう書いた方が良くありませんか。
char s[256]; … (処理) … memset(s, 0, sizeof(s)); // 初期化
領域を初期化するのに、strncpyは無いでしょう…。それに、固定でstrncpyの引数に256を直接入れているけど、サイズの変更があった時に「どちらかを修正し忘れる」なんてことが起こりそうだし。いや、絶対起こる。
コーディングの大半は、どこの馬の骨が書いたともわからないソースコードに修正・追加することなのだ。今の僕は。 というか、仕事のコーディングなんてそんなもんです。あぁ、最後にシステムがゼロの状態からコーディングをしたのはいつだったか…