Loose-Info.com

Last Update 2019/12/24


TOP - C言語 - stdio.h - rename()

パスによって指定されるファイルまたはディレクトリの名前を変更します。
新しいファイル名が既存のファイル名と同じであった場合は、古いファイルは削除されます。
新しいファイルの名称が既存のディレクトリ名であった場合、またはその逆の場合は実行は失敗します。

 戻り値1  = rename(  引数1  ,  引数2  )

戻り値1 :
int
実行が成功した場合 : 0
エラーが発生した場合 : 0以外
引数1 :
const char *
名前を変更するファイルまたはディレクトリへのパス
引数2 :
const char *
変更後のファイルまたはディレクトリへのパス

(例)
#include <stdio.h> int main() { char s[10]; FILE *fp; fp = fopen("test_fopen_w1.txt", "w"); fputs("12345", fp); fclose(fp); fp = fopen("test_fopen_w2.txt", "w"); fputs("45678", fp); fclose(fp); printf("変更実行1 --- 結果 : %d\n", rename("test_fopen_w1.txt", "test_fopen_w3.txt")); fp = fopen("test_fopen_w3.txt", "r"); if (fp == NULL) { printf("ファイルが開けません\n"); } else { printf("ファイルを開きました(%s)\n", fgets(s, 10, fp)); fclose(fp); } printf("変更実行2 --- 結果 : %d\n", rename("test_fopen_w3.txt", "test_fopen_w2.txt")); fp = fopen("test_fopen_w2.txt", "r"); if (fp == NULL) { printf("ファイルが開けません\n"); } else { printf("ファイルを開きました(%s)\n", fgets(s, 10, fp)); fclose(fp); } return 0; }

実行結果
変更実行1 --- 結果 : 0 ファイルを開きました(12345) 変更実行2 --- 結果 : 0 ファイルを開きました(12345)