回答編集履歴

2 column は使われていました

Zuishin

Zuishin score 23219

2016/07/07 15:07  投稿

一つは、ファイルを読み取りモードでオープンした後、クローズせずに書き込みモードで開こうとしています。`fp_o=fopen(fname2,"w");` の前にクローズしてください。
もう一つは、文字列のポインタを返すべき関数なのに数値を返しています。どこから取ってきたソースか知りませんが、理解してから使っていますか?
###追記
インデントがむちゃくちゃです。
読みにくいのはバグの元なので、きれいに書きましょう。
最後の中カッコも閉じていません。
permute_str の中で `char *c` は使われていません。
したがって置換もされません。
`column` も使われていません。  
変数の命名はもう少し計画的に。
a とか b とか c とかでなく、意味のある名前をもたせましょう。
fname fname1 sstr cstr なども同じです。
検索されるファイル名なら inFileName や originalFileName など、出力先なら outFileName や newFileName など。補完のきくエディタを使って読みやすいソースを心がけてください。
自分さえ読めればいいというのではなく、他人に見せられるソースを書いてください。
1 追記

Zuishin

Zuishin score 23219

2016/07/07 15:05  投稿

一つは、ファイルを読み取りモードでオープンした後、クローズせずに書き込みモードで開こうとしています。`fp_o=fopen(fname2,"w");` の前にクローズしてください。
もう一つは、文字列のポインタを返すべき関数なのに数値を返しています。どこから取ってきたソースか知りませんが、理解してから使っていますか?
もう一つは、文字列のポインタを返すべき関数なのに数値を返しています。どこから取ってきたソースか知りませんが、理解してから使っていますか?
###追記
インデントがむちゃくちゃです。
読みにくいのはバグの元なので、きれいに書きましょう。
最後の中カッコも閉じていません。
permute_str の中で `char *c` は使われていません。
したがって置換もされません。
`column` も使われていません。
変数の命名はもう少し計画的に。
a とか b とか c とかでなく、意味のある名前をもたせましょう。
fname fname1 sstr cstr なども同じです。
検索されるファイル名なら inFileName や originalFileName など、出力先なら outFileName や newFileName など。補完のきくエディタを使って読みやすいソースを心がけてください。
自分さえ読めればいいというのではなく、他人に見せられるソースを書いてください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る