我想知道我的代码正在发生什么。我必须读取目录(字符串,我正在使用scanf)并使用调用系统函数才能创建。一切正常,直到这里。
然后我问是否也要使用呼叫系统功能来删除该指令(这在这里并不重要)。问题是,在问到“您要删除bla bla ...程序完成之后,就这样了。它不会执行下一条指令scanf,以及我删除目录的那一部分
这是我的代码:
#include <windows.h>
#include <stdio.h>
int main(void)
{
printf("Inserta el Directorio: ");
char directorio[MAX_PATH];
char respuesta;
scanf("%s",directorio);
BOOL bDir;
bDir = CreateDirectory(directorio,NULL);
if (bDir) {
printf("Directorio creado con exito\n");
}
else {
printf("Directorio no creado\n");
exit (1);
}
printf(" Deseas remover el directorio? (y/n) : ");
--------- from here it doesn't execute any instruction, maybe the return line.
scanf("%c",&respuesta);
printf("%c",respuesta); // this was created in order to know what happen with my char.
if(respuesta=='y'||respuesta=='Y'){
bDir= RemoveDirectory(directorio);
if(bDir) {
printf("Directorio eliminado\n");
}
else {
printf("No se pudo remover el directorio");
}
}
}
return 0;
}
我想知道什么是错的,在这种情况下(在每种情况下都是如此),printf和scanf是如何工作的。