fclose()关闭文件崩溃问题
本地随便创造四个文件,我的环境是有single_node_boolean.sql; single_node_char.sql; single_node_name.sql; single_node_varchar.sql;四个文件做测试。在字符串切割后的文件名去读取和关闭文件时,崩溃掉。
请求哪位大神能帮忙分析下原因?非常感激!!
程序代码:
#include <stdio.h> #include <malloc.h> #include <ctype.h> #include <string.h> bool file_exists(const char* file) { FILE* f = fopen(file, "r"); if (!f) { return false; } fclose(f); return true; } int main() { char schedule_file[] = "single_node_boolean.sql single_node_char.sql single_node_name.sql single_node_varchar.sql"; char** tests = NULL; tests = (char**)malloc(sizeof(char**)); char* pcTemp = NULL; bool InsideWord = false; int num_tests = 0; for (pcTemp = schedule_file; *pcTemp != '\0'; pcTemp++) { if (*pcTemp == ' ') { *pcTemp = '\0'; InsideWord = false; } else if (!InsideWord) { tests[num_tests] = pcTemp; num_tests++; InsideWord = true; } } int int_temp = 0; while (int_temp < num_tests) { file_exists(tests[int_temp]); int_temp++; } }