第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C語言底層復(fù)制小程序,有幾個細(xì)節(jié)不懂?

C語言底層復(fù)制小程序,有幾個細(xì)節(jié)不懂?

慕標(biāo)琳琳 2019-04-08 11:18:48
我在學(xué)習(xí)《Linux程序設(shè)計(jì)》-底層文件訪問時遇到了這段代碼,它是一個文件復(fù)制程序:#include#include#include#includeintmain(){charc;intin,out;in=open("file.in",O_RDONLY);out=open("file.out",O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR);while(read(in,&c,1)==1)write(out,&c,1);exit(0);}Q:這兩行沒看懂,特別是&c和3個數(shù)字1?while(read(in,&c,1)==1)write(out,&c,1);提前感謝回答問題的朋友們!
查看完整描述

2 回答

?
波斯汪

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超4個贊

read()函數(shù)的第二個參數(shù)表示要將讀取的的數(shù)據(jù)存放到哪里,第三個參數(shù)表示想要一次讀取的數(shù)據(jù)大小,返回值表示實(shí)際讀取的數(shù)據(jù)大小
所以
read()第二個參數(shù)是&c、第三個參數(shù)是1表示讀取一個字節(jié),將其保存到變量c中,然后判斷read()返回值是否是1,如果不是的話表示文件讀取完畢,則會退出while循環(huán)
write()類似,第二個參數(shù)和第三個參數(shù)聯(lián)合起來表示將變量c中的那一個字節(jié)保存到文件中。
                            
查看完整回答
反對 回復(fù) 2019-04-08
?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個贊

這個問題的,我來試試看能不能給你說個明白。read()函數(shù)簡單地說作用就是從描述符fd(作為第一個參數(shù),對應(yīng)問題中的in或者out)讀取n個字節(jié)(作為第三個參數(shù))到buffer中(作為第二個參數(shù),也就是題目中的c)。
關(guān)鍵點(diǎn):1)目的地是第二個參數(shù)。2)函數(shù)的返回值要么判斷函數(shù)是否執(zhí)行成功要么知道實(shí)際讀取了多少字節(jié)。
函數(shù)改變了目的地的內(nèi)容,
我來給你舉個例子:
#include
intread(int*p)
{
intb=20;
*p=b;
return1;
}
intmain()
{
inta=10;
if((read(&a))==1)
printf("a:%d\n",a);
return0;
}
變量a就相當(dāng)于我們要修改的目的地。一開始是10,但是后來經(jīng)過了read()函數(shù)卻變成了20。
                            
查看完整回答
反對 回復(fù) 2019-04-08
  • 2 回答
  • 0 關(guān)注
  • 448 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號