Operating system 传递给打开系统调用的文件名未以null结尾

Operating system 传递给打开系统调用的文件名未以null结尾,operating-system,system-calls,shellcode,Operating System,System Calls,Shellcode,我试图编写一个外壳代码来创建一个文件并写入其中。文件名在外壳代码中传递,且不以null结尾。打开系统调用后,我收到错误代码-2。 当传递给开放系统调用的文件名不是以null结尾时会发生什么 经过研究,我找到了这个答案。文件名应以null结尾。如果不是,操作系统将继续查找空字符。大多数系统对文件名(包括路径)的大小都有一个上限,所以如果找不到空字符,它会假定文件名超过了上限并抛出错误

我试图编写一个外壳代码来创建一个文件并写入其中。文件名在外壳代码中传递,且不以null结尾。打开系统调用后,我收到错误代码-2。
当传递给开放系统调用的文件名不是以null结尾时会发生什么

经过研究,我找到了这个答案。文件名应以null结尾。如果不是,操作系统将继续查找空字符。大多数系统对文件名(包括路径)的大小都有一个上限,所以如果找不到空字符,它会假定文件名超过了上限并抛出错误