2
To create a directory I used the mkdir(const char*) function and to remove I tried to use remove(const char*),as below:
void remove_diretorio() {
char nome_pasta[10];
printf("Informe o nome da pasta: ");
fflush(stdin);
gets(nome_pasta);
if(remove(nome_pasta)) {
Sleep(500);
printf("Erro ao exlcluir o diretorio!\n");
printf("%s",strerror(errno));
system("pause");
return;
} else {
Sleep(500);
printf("Pasta excluída com sucesso\n");
system("pause");
}
}
However the return is being different from zero, as it is entering my if. I need to rename also and I can not find references.
Note: remove_directory() is a function of my program; my operating system is Windows.
apart: this is probably a program for personal use and you’re not worrying too much about security - so, ok use the
gets
passing a fixed size string (char nome_pasta[10]
- (the recommendation is to usefgets
) . However, even for personal use, the 10 byte size is almost SURE to be exceeded in a filename - it may result in your program being terminated by S.O. - but someone knowing your program by typing more than 10 characters can change the value of other internal variables, for example. That would be a "buffer overrun attack"– jsbueno