发现,文件操作如果需要使用变量缓冲,只能使用局部变量,不可以使用全局变量,不可以使用动态内存分配。
w_buff若是全局变量, 且 在 open 函数返回值成功后 调用写函数,传入w_buff。 这样open函数永远返回失败。程序执行指针根本就没执行到写函数,open竟然能知道因为我的w_buff是全局变量,直接返回错误。当我把写函数那句话注释掉,就可以通过了(文件操作不能涉及全局变量,尽管还没被调用)。各位大佬求告诉我这是什么原理。open怎么知道我的w_buff是全局??
发现,文件操作如果需要使用变量缓冲,只能使用局部变量,不可以使用全局变量,不可以使用动态内存分配。
w_buff若是全局变量, 且 在 open 函数返回值成功后 调用写函数,传入w_buff。 这样open函数永远返回失败。程序执行指针根本就没执行到写函数,open竟然能知道因为我的w_buff是全局变量,直接返回错误。当我把写函数那句话注释掉,就可以通过了(文件操作不能涉及全局变量,尽管还没被调用)。各位大佬求告诉我这是什么原理。open怎么知道我的w_buff是全局??
举报