亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

怎樣可以知道緩沖區是否滿了?

怎樣可以知道緩沖區是否滿了?

C
陪伴而非守候 2023-03-16 16:12:11
C語言(用的是turboc2.0)中,對硬盤寫數據(比如說用fputs)時,先把數據裝入內存緩沖區中,待緩沖區滿了再寫到硬盤上。我的問題是:有沒有什么函數或標志可以測試內存緩沖區滿了沒有?(我問這個問題是因為我在編一個程序,其中,要把很大一個文件寫到硬盤上,估計緩沖區里一次裝不下。這樣,我就把fputs寫在了for循環里。可是,對硬盤寫東西較內存里操作要慢呀。于是,我就想到了用delay。這樣,我就要知道什么時候緩沖區滿了。等滿了就可以用delay了。)
查看完整描述

1 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

現代計算機都用虛擬存儲,輸出緩沖區應會自己調節,只要你的變量內存空間分配沒問題,輸出緩沖應沒問題.
就fputs來說,你可能已用fgets(或別的方法)得到了這個長string,肯定有個地方存這個string.
例如:
FILE *fin, *fout;
char *buff;
int NN;
buff = (char *) malloc(NN * sizeof(char));
fin = fopen(..); fout = fopen(....);
fgets (buff,NN,fin);
fputs (buff,fout);
如果你在分配buff時沒問題,則輸出也沒問題.

buff分配有無問題檢測是:
if ( !buff) {
printf("No enough memory for buff\n"); exit(1);
}

查看完整回答
反對 回復 2023-03-18
  • 1 回答
  • 0 關注
  • 170 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號