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

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

 更新時(shí)間:2013年05月27日 16:31:49   作者:  
本篇文章是對在c中使用ftruncate()前需要fflush(),使用后需要rewind()進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
今天用ftruncate截?cái)辔募? 但怎么都不能達(dá)到預(yù)料的效果, 截?cái)嗪笪募械膬?nèi)容比較雜, 而且文件大小也保持原來的.
添加 fflush()rewind() 后OK.
以下是測試代碼:
復(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)噙^的文件, 在用 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語言給定了一些基本的數(shù)據(jù)類型,下面這篇文章主要給大家介紹了關(guān)于重學(xué)c/c++之?dāng)?shù)據(jù)存儲(chǔ)(整數(shù)、浮點(diǎn)數(shù))的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • 用C語言實(shí)現(xiàn)簡單掃雷游戲

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

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

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

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

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

    這篇文章主要介紹了c語言數(shù)據(jù)結(jié)構(gòu)與算法之順序表的定義實(shí)現(xiàn)詳解,用順序存儲(chǔ)的方式實(shí)現(xiàn)線性表順序存儲(chǔ),把邏輯上相鄰的元素存儲(chǔ)在物理位置上也相鄰的存儲(chǔ)單元中,元素之間的關(guān)系由存儲(chǔ)單元的鄰接關(guān)系來體現(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
  • 二叉樹入門和刷題詳解

    二叉樹入門和刷題詳解

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

    wxWidgets自定義按鈕的方法

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

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

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

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

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

最新評論

禹城市| 林州市| 天祝| 区。| 鹤峰县| 石林| 通化市| 夹江县| 两当县| 平泉县| 满洲里市| 通河县| 安顺市| 错那县| 西林县| 白玉县| 夏津县| 盘锦市| 绥江县| 孟州市| 石台县| 新昌县| 毕节市| 南丰县| 延寿县| 江孜县| 奉新县| 镇安县| 高青县| 永宁县| 灵璧县| 襄垣县| 凤凰县| 奉新县| 沾益县| 宁安市| 潼南县| 平谷区| 平潭县| 肃北| 东阳市|