C言語,remove()関数でファイルやディレクトリを削除する

スポンサーリンク

鍛錬 727

C言語,remove()関数でファイルやディレクトリを削除する

ファイルやディレクトリを削除するには、remove()関数を使用します。
 
以下は、remove()関数についてです。

#include <stdio.h>

int remove(const char *pathname);
 

引数

以下は、上記の引数についてです。

引数 意味
const char *pathname 削除対象のパス

戻り値

以下は、戻り値についてです。

戻り値
int 成功 0
int エラー -1
スポンサーリンク

プログラム

以下は、指定したファイルとディレクトリを削除するプログラム、test_remove.c です。

今回は、次のファイルとディレクトリを削除しています。

削除対象のファイル名
/var/tmp/test/sample.txt
削除対象のディレクトリ名
/var/tmp/test/sample_dir
// include
#include <stdio.h>
#include <stdlib.h>

// main
int main(void)
{
	char file_path[256] = "/var/tmp/test/sample.txt";
	char dir_path[256] = "/var/tmp/test/sample_dir";
	int ret;
	
	// ファイルを削除
	ret = remove(file_path);
	if (ret == -1) {
		perror("remove");
		exit(EXIT_FAILURE);
	}
	else {
		printf("SUCCESS,remove(),%s\n", file_path);
	}
	
	// ディレクトリを削除
	ret = remove(dir_path);
	if (ret == -1) {
		perror("remove");
		exit(EXIT_FAILURE);
	}
	else {
		printf("SUCCESS,remove(),%s\n", dir_path);
	}
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム test_remove.c を実行しています。

ディレクトリ「/var/tmp/test」にファイル「sample.txt」とディレクトリ「sample_dir」を作成後、プログラムを実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ echo -n > /var/tmp/test/sample.txt
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ mkdir /var/tmp/test/sample_dir
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ ls -l /var/tmp/test
合計 4
-rw-r--r-- 1 *** ***    0 Jan  3 01:24 sample.txt
drwxr-xr-x 2 *** *** 4096 Jan  3 01:24 sample_dir
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra test_remove.c -o test_remove
***@ubuntu:~/***/test/c$ ./test_remove
SUCCESS,remove(),/var/tmp/test/sample.txt
SUCCESS,remove(),/var/tmp/test/sample_dir
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ ls -l /var/tmp/test
合計 0

 
上記に示した通り、指定したファイルとディレクトリを削除することができました。

タイトルとURLをコピーしました