scandir函数运用


int GetClass(char *class_name){
	int i, n;
	struct dirent **nlist;
	//printf("<script>alert('%s')</script>",PREFIX_CFRPT);	
	if (access(PREFIX_CFRPT, F_OK)){
		return 0;
	}
	n = scandir(PREFIX_CFRPT, &nlist, NULL, alphasort);

	if (n <= 0){
		return 0;
	}

	memset(class_name, 0, sizeof(class_name));
	for (i = 0; i < n; i++){
		if (!strcmp(nlist[i]->d_name, ".")||!strcmp(nlist[i]->d_name, "..")) continue;
		sprintf(class_name + strlen(class_name), "%s;", nlist[i]->d_name);
	}

	for (i = 0; i < n; i++){
		free(nlist[i]);
	}

	free(nlist);
	return 0;
}

int ClassDel(char *class_name){
	char ddir[1024], cmd[256];
	
	if (access(PREFIX_CFRPT, F_OK)){
		return __LINE__;
	}
	memset(ddir, 0, sizeof(ddir));
	sprintf(ddir, PREFIX_CFRPT"%s", class_name);

	if (access(ddir, F_OK)) return __LINE__;

	cmd[0] = 0;
	sprintf(cmd, "rm -r \"%s\"", ddir);
	system(cmd);			

	return 0;
}



你可能感兴趣的:(c)