下面是示例代碼:C瞭解()和write()while循環
int nbajt; int buf[];
//we opened file and get descriptor fd
while((nbajt = read(fd, buf, 5)) > 0){
if (write(fd2, buf, nlbajt) == -1){
perror("ERROR");
exit(1);
}
}
我不明白它是如何工作的,當我們使用while循環。這個循環將進行多少次?(buf的長度的倍數?)。請問nbajt只有值爲1或0 + buf文件位置將在每個循環步驟後改變1個位置?所以在第一步中,我們有nlbajt = 1,我們把buf的第一個位置字符,然後寫到fd2 ?.最後我們有nlbajt==0
,這意味着它是文件的結尾?我會很感激檢查我是否有錯。我主要關心的是nbajt值如何變化。它是如何不同勢的這種態度:
nbajt = read(fd, buf, 5));
write(fd2, buf, sizeof(a));
您是否閱讀過'read()'的文檔,以便了解參數和返回值? – 2014-11-22 09:36:46
我正在使用男人。但我明白,只有當我們不使用while循環。讀取返回的字節數。我在那裏爲buf做了改變。 – user3402584 2014-11-22 09:50:28