0
那麼它可能會明顯一些,但不是我(和它沒有在文檔中提到的):寫系統調用停靠在NUL
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(),儘管被要求寫過去嗎?那我怎麼寫一個nul文件呢?
謝謝!
當我運行你的代碼,它的權利H10的文件,所以它不是在'\ 0'上停止,這是在Ubuntu natty – freethinker 2011-05-22 10:00:26
你如何確保數據不存在?你在窗戶上嗎? – Mat 2011-05-22 10:02:40
我在一個較舊的Ubuntu版本上試過這個 - 不會在Windows上運行。我打開文件,只看到一個H文件。所以你認爲它可能取決於系統? – 2011-05-22 10:04:02