最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于c中使用ftruncate()前需要fflush(),使用后需要rewind()的深入探討

 更新時(shí)間:2013年05月27日 16:31:49   作者:  
本篇文章是對(duì)在c中使用ftruncate()前需要fflush(),使用后需要rewind()進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
今天用ftruncate截?cái)辔募? 但怎么都不能達(dá)到預(yù)料的效果, 截?cái)嗪笪募械膬?nèi)容比較雜, 而且文件大小也保持原來(lái)的.
添加 fflush()rewind() 后OK.
以下是測(cè)試代碼:
復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
 FILE *fp;
 char *file = "tmp";
 int i;
 int fd;

 fp = fopen(file, "w");
 if(fp == NULL)
 {
  printf("fopen failed\n");
  return -1;
 }

 for(i=0; i<1000; i++)
 {
  fprintf(fp, "%d -- abcedfg  \n", i);
 }
 fflush(fp);
 fd = fileno(fp);
 if(ftruncate(fd, 0)<0)
 {
  perror("");
  return -1;
 }
 rewind(fp);
 fprintf(fp, "end\n");
 fclose(fp);
 return 0;
}

程序運(yùn)行后, tmp 文件的內(nèi)容為 end , 大小為4字節(jié).
- - - - - - - - - -
在調(diào)用 ftruncate() 前用 rewind() 也行.
但用 ftruncate()截?cái)噙^(guò)的文件, 在用 fread, fwrite拷貝到另外一個(gè)文件時(shí), 會(huì)出現(xiàn)亂碼和一些'\0'字符. 改用 fgets 和 fputs 則正常.

相關(guān)文章

  • C++實(shí)現(xiàn)下載的代碼

    C++實(shí)現(xiàn)下載的代碼

    這篇文章主要介紹了C++實(shí)現(xiàn)下載的代碼,以下載百度圖片為例較為完整的講述了C++下載的具體實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-10-10
  • 重學(xué)c/c++之?dāng)?shù)據(jù)存儲(chǔ)詳解(整數(shù)、浮點(diǎn)數(shù))

    重學(xué)c/c++之?dāng)?shù)據(jù)存儲(chǔ)詳解(整數(shù)、浮點(diǎn)數(shù))

    C語(yǔ)言給定了一些基本的數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于重學(xué)c/c++之?dāng)?shù)據(jù)存儲(chǔ)(整數(shù)、浮點(diǎn)數(shù))的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • C++使用BitBlt進(jìn)行窗口抓圖的方法

    C++使用BitBlt進(jìn)行窗口抓圖的方法

    這篇文章主要介紹了C++使用BitBlt進(jìn)行窗口抓圖的方法,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2021-01-01
  • c語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之順序表的定義實(shí)現(xiàn)詳解

    c語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之順序表的定義實(shí)現(xiàn)詳解

    這篇文章主要介紹了c語(yǔ)言數(shù)據(jù)結(jié)構(gòu)與算法之順序表的定義實(shí)現(xiàn)詳解,用順序存儲(chǔ)的方式實(shí)現(xiàn)線性表順序存儲(chǔ),把邏輯上相鄰的元素存儲(chǔ)在物理位置上也相鄰的存儲(chǔ)單元中,元素之間的關(guān)系由存儲(chǔ)單元的鄰接關(guān)系來(lái)體現(xiàn),需要的朋友可以參考下
    2023-08-08
  • Cocos2d-x學(xué)習(xí)筆記之Hello World源碼分析

    Cocos2d-x學(xué)習(xí)筆記之Hello World源碼分析

    這篇文章主要介紹了Cocos2d-x學(xué)習(xí)筆記之Hello World源碼分析,接上一篇內(nèi)容,本文著重分析源碼文件,需要的朋友可以參考下
    2014-09-09
  • 二叉樹(shù)入門(mén)和刷題詳解

    二叉樹(shù)入門(mén)和刷題詳解

    這篇文章主要介紹了二叉樹(shù)入門(mén)和刷題詳解的相關(guān)資料,需要的朋友可以參考下
    2023-07-07
  • wxWidgets自定義按鈕的方法

    wxWidgets自定義按鈕的方法

    這篇文章主要為大家詳細(xì)介紹了wxWidgets自定義按鈕的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)程序

    C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)程序

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)隨機(jī)抽獎(jiǎng)程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 適合新手小白DEV?C++的使用方法

    適合新手小白DEV?C++的使用方法

    Dev-C++是一個(gè)Windows環(huán)境下C/C++的集成開(kāi)發(fā)環(huán)境(IDE),它是一款自由軟件,遵守GPL,下面這篇文章主要給大家介紹了關(guān)于適合新手小白DEV?C++的使用方法,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02

最新評(píng)論

南充市| 霞浦县| 龙江县| 云南省| 阳春市| 东乌珠穆沁旗| 高唐县| 林口县| 鄯善县| 山丹县| 邵阳市| 常山县| 河南省| 武强县| 淅川县| 凤翔县| 伊川县| 邓州市| 宁国市| 明光市| 无棣县| 焦作市| 维西| 广宗县| 尼木县| 新化县| 河池市| 工布江达县| 绥德县| 西林县| 汉中市| 郑州市| 玛多县| 砚山县| 揭东县| 正安县| 乌拉特中旗| 扬州市| 庄浪县| 巴彦县| 元谋县|