中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

請嘗試使用open、lseek等函數創建 一個含有空洞的文件

發布時間:2020-06-19 17:32:17 來源:網絡 閱讀:596 作者:銀河星君 欄目:編程語言

/*

  • 當使用lseek函數定位到超出文件尾端之后,對于新寫入的數據需要分配磁盤塊,但是對于原文件
  • 尾端和新開始寫位置之間的部分則不需要分配磁盤塊,這會產生空洞文件,文件中的空洞并不要求
  • 在磁盤上占有存儲區,具體處理方式與文件系統的實現有關,請嘗試使用open、lseek等函數創建
  • 一個含有空洞的文件。
    */
    #include <sys/types.h>
    #include <unistd.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <string.h>

#define FLAGS O_WRONLY|O_CREAT|O_TRUNC /定義參數flags:以讀寫方式打開文件,向文件添加內容時從文件尾開始寫/
#define MODE 0600 /定義參數MODE:文件所有者讀寫方式/
#define FILENAME "/home/mrhe/test" /要進行操作的文件/

int main(int argc, char argv[])
{
int count;
int fd;
char buf1[]={"abcdefghij"}; //緩沖區1,長度為10
char buf2[]={"1234567890"}; //緩沖區2,長度為10
const char
pathname=FILENAME;
if((fd=open(pathname,FLAGS,MODE))==-1)
{
printf("error,open file failed!\n");
exit(1);
}
count=strlen(buf1);
if(write(fd,buf1,count)!=count) //調用write函數將緩沖區1的數據寫入文件
{
printf("error,write file failed!\n");
exit(1);
}
if(lseek(fd,50,SEEK_SET)==-1)
{
printf("error,lseek failed!\n");
exit(1);
}
count=strlen(buf2);
if(write(fd,buf2,count)!=count) //調用write函數將緩沖區2的數據寫入文件
{
printf("error,write file failed!\n");
exit(1);
}
return 0;
}

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

成武县| 无棣县| 互助| 闸北区| 丹巴县| 彭山县| 陆良县| 靖江市| 保山市| 芦溪县| 巴林左旗| 马龙县| 乌兰浩特市| 泾源县| 二连浩特市| 兴宁市| 图片| 黄大仙区| 高淳县| 钟祥市| 修水县| 绩溪县| 招远市| 息烽县| 垦利县| 额尔古纳市| 杭锦后旗| 黄骅市| 泽州县| 措勤县| 双牌县| 海宁市| 武山县| 延吉市| 沈丘县| 隆尧县| 镇平县| 阿瓦提县| 蒙城县| 金川县| 酒泉市|