2

私はこのようなものを使用しています:

char *file;
file = (char *)malloc(BUFSIZE * sizeof(char));
printf("Enter the filename:");
scanf("%s", file);
if(remove(file)) {
   printf("Error while removing");
}

2つのファイルを作成しました。

touch filetobedeleted1.txt
chmod 777 filetobedeleted1.txt

touch filetobedeleted2.txt
chmod 444 filetobedeleted2.txt

今、私のプログラムは両方のファイルを削除しますが、それは正しく行われないはずですか?コードの何が問題なのか誰か知っていますか?

編集:名前をファイルに入れるためのコードを追加しました...

わかりました...すべてがディレクトリに設定されたアクセス許可に依存しているように見えますが、ファイルのアクセス許可をチェックとして使用する方法はありますか?

4

4 に答える 4

1

getumask()を呼び出す前に、関数を使用してチェックすることができますremove()

于 2010-01-31T21:58:37.557 に答える