- 締切済み
rename関数で名前の変更が出来なくなりました
こんにちは。 C言語でHTMLのひな形を作ってHTMLを作っています。今回、少しC言語のソースを買えただけでC言語のrename関数が失敗するようになってしまいました。 バレが怖いので下記しか書けません。質問なのに申し訳ございません。 if (rename("after_oomoto.txt", html_name)==0){ printf("htmlファイル名変換完了\n"); }else{ printf("htmlファイル名変換不可\n"); printf("レビューファイルがキチンと作成されていない可能性があります。処理を終了します。\n"); system("pause"); // return; } ちなみにhtml_nameは改行とnull文字は付いていません。また、ファイル名にutf-8やshift-jisがあるのかも知りません。 こんな少ない情報ですが、どなたかアドバイス頂けないでしょうか。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- wormhole
- ベストアンサー率28% (1626/5665)
>ちなみにhtml_nameは改行とnull文字は付いていません。 改行文字はともかくhtml_nameはNUL文字終端になっていないということですか? >また、ファイル名にutf-8やshift-jisがあるのかも知りません。 「知りません」ではなく「知ろうとしてない」だけですね。 VisualStudioには立派なドキュメントがありますし。 >バレが怖いので下記しか書けません。質問なのに申し訳ございません 「バレ」って何?
- Wr5
- ベストアンサー率53% (2173/4061)
環境くらいは書かれた方が…。 errnoに何か設定されていませんか? http://msdn.microsoft.com/ja-jp/library/zw5t957f.aspx
お礼
ご回答ありがとうございます。 環境のこと申し訳ございませんでした。 windows7 x64 visual studio 2013です。 こんな戻り値があったのですね、とても勉強になりました。
- kmee
- ベストアンサー率55% (1857/3366)
> 少しC言語のソースを買えただけでC言語のrename関数が失敗するようになってしまいました ということは、そこの原因があるのでは? 変更前がどうで、変更後がどうで、その変更は「正しい」もので ということが確認できなければ、なんとも言えません。 例えば、その変更に間違いがあって、html_nameの内容を書きかえてしまっていて、不正なファイル名になってしまっている、とか。
お礼
ご回答ありがとうございます。 >そこの原因があるのでは? まさしくその通りだと思うのですが…。 少しやってみます。
お礼
ご回答ありがとうございました。