对某些人来说可能是显而易见的,但对我来说并不是这样(文档中没有提到):
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;
}
只会向文件写'h' - 所以缓冲区中的nul会终止write(),尽管被要求写过去吗?那我怎么写一个文件呢?
谢谢!
答案 0 :(得分:0)
求助:pico显示h ^ @ 10 - 所以nul得到了写 - 毕竟它是“WinSCP的内部文本编辑器”。对我来说仍然是一个谜。
(根据评论中的提示回答 - 如果有人可以为我确认这一点,那么我可以百分百肯定......)