Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 在nul写入系统调用停止_Unix_System Calls - Fatal编程技术网

Unix 在nul写入系统调用停止

Unix 在nul写入系统调用停止,unix,system-calls,Unix,System Calls,这对一些人来说可能是显而易见的,但对我来说不是(文档中没有提到): 将只向文件写入“h”-因此缓冲区中的nul会终止write(),尽管被要求写过去?那么,如何将nul写入文件 谢谢 已解决:pico显示h^@10-因此nul毕竟是编写的-因此它是“WinSCP的内部文本编辑器”。对我来说还是个谜 (按照评论中的提示回答-如果有人能帮我确认一下,那么我可以100%确定…当我运行你的代码时,它正好指向文件,所以它不会在\0上停止,这是在ubuntu上。你如何确保数据不在那里?你在windows上吗

这对一些人来说可能是显而易见的,但对我来说不是(文档中没有提到):

将只向文件写入“h”-因此缓冲区中的nul会终止write(),尽管被要求写过去?那么,如何将nul写入文件


谢谢

已解决:pico显示h^@10-因此nul毕竟是编写的-因此它是“WinSCP的内部文本编辑器”。对我来说还是个谜


(按照评论中的提示回答-如果有人能帮我确认一下,那么我可以100%确定…

当我运行你的代码时,它正好指向文件,所以它不会在
\0
上停止,这是在ubuntu上。你如何确保数据不在那里?你在windows上吗?我在一个较旧的ubuntu版本上试过这个-不,这个不会在windows上运行。我打开文件,只看到一个H。所以你认为它可能与系统有关?你是如何检查文件内容的?如果你有答案,请将其作为一个答案发布,不要修改问题。
int main(int argc, char** argv) {
    char s[]= {'h','\0','l','0'};
    int fd=open("myfile.txt", O_RDWR|O_CREAT|O_APPEND,0644);
    write(fd,s,4);
    return 0;
}