add cannel file remove fclose(f)