寫入檔案的四種方式,三種字元資料,一種二進位制資料

2021-08-16 16:33:05 字數 2717 閱讀 5780

字元方法一:

/*字元方式就是以字元為單位,乙個字元乙個字元地將資料寫入到檔案中,用的fputc()函式

int putc(char c,file *stream);

引數c是指代的乙個將被寫入檔案中的字元

引數stream是乙個檔案指標,並且此指標已經指向了要被寫入字元的檔案

如果字元寫入成功,函式返回寫入的字元的ascii碼值,寫入失敗,返回-1

*/ #include

#include

int main()

puts("開啟檔案成功!\n\n");

puts("請輸入你要寫入檔案的資料:");

char ch;

int i=0;

ch =getchar();

while(ch!='\n') 

ch=getchar();

}int return_value=fclose(fp);

if(return_value!=0)

puts("關閉檔案成功!\n");

}字元方法二:

/*格式化方式寫入資料,用的stdio.h提供的fprintf函式

int fprintf(file *stream,const *format[ , argument,]...);

stream 是指向將被寫入資料的檔案的檔案指標,format是格式化的字串

argument引數是可選的,如果format有格式字元,argument就是對應的變數

fprintf()返回的是實際輸入到檔案中的字元個數

*/ #include

#include

struct info;

int main()

,   ,

};file *fp;

int i;

fp=fopen("d:\\test1.txt","w+");

if(fp==null)

puts("開啟檔案成功!\n\n");

int count=0;//統計下fprintf返回的字元個數,也是驗證下這個函式返回的啥 

for( i=0;i<3;i++)

printf("記錄到檔案中的字元個數是:%d\n\n",count);

int return_value=fclose(fp);

if(return_value!=0)

puts("關閉檔案成功!\n") ;

return 0;

字元方法三:

/*字串方式 

一次向檔案寫入字串,用的fputs函式,

int fputs(const char *str,file *stream);

str是指向要寫入檔案的字串的指標,stream是將被寫入字串的檔案的檔案指標

如果字串寫入失敗的話,返回-1 */

#include

#include

int main()

puts("開啟檔案成功!");

puts("你要輸入的字串:\n");

char c[10];

gets(c);

int value_w=fputs(c,fp);

if(value_w==-1)//fputs寫入失敗返回-1 

puts("寫入字串成功!\n");

int return_value=fclose(fp);

if(return_value!=0)//檔案成功關閉返回0 

puts("檔案關閉成功!");

return 0;

}二進位制資料格式:

/* 以二進位制方式寫入資料

int fwrite(const void *buffer,int size,int count,file *stream);

buffer是乙個五型別的指標,指向將要寫入檔案的資料。

size是要被寫入到檔案的資料的大小

count是size為單元的單元的個數

stream是檔案指標,指向要被寫入資料的檔案

函式返回實際寫入到檔案的單元個數,從函式的引數

stream是檔案指標,指向將要被寫入資料的檔案

函式返回實際寫入到檔案的單元個數,從函式的引數來看,說明函式處理的字元資料是結果和陣列

*/#include

#include

struct info;

int main()

,,};

file *fp;

fp=fopen("d:\\test1.txt","w+");

if(fp==null)

puts("開啟檔案成功:\n");

int count=fwrite(info_st,sizeof(struct info),3,fp);//寫入資料到檔案

printf("寫入到檔案的的單元數是: %d\n\n",count);

int return_value=fclose(fp);

if(return_value!=0)

puts("關閉檔案成功\n");

可以看到這裡二進位制寫入有問題,這裡字元寫入是正確的,但是數字寫入不正確,其實這裡不正確就是對我們不可讀,對程式自己,它是可讀的,它是可以用的,當我們去用二進位制方式去讀取的時候,數字是可以顯示的,但是這裡寫入數字是對我們不可讀的。

Linux 檔案的三種身份和四種許可權

一 三種身份和四種許可權 三種身份 u 檔案的擁有者 g 檔案所屬的群組 o 其他使用者 對於每個身份,又有四種許可權 r 讀取檔案的許可權 read w 寫入檔案的許可權 write x 執行的許可權 execute s 特殊許可權 二 以數字形式改變許可權 chmod 755 test.sh 將...

Css與html三種結合方式 Css四種選擇器

一 css與html的結合 三種方式 html與css結合如下 方式 一 在標籤的style屬性上設定 key value value 修改標籤樣式。例如 分別定義兩個 div span標籤,分別修改每個 div 標籤的樣式為 邊框1個畫素,實線,紅色。此處是方式一的實現 我是div標籤1 我是di...

三種Cache寫入方式原理簡介

三種cache寫入方式原理簡介 在386以上檔次的微機中,為了提高系統效率,普遍採用cache 高速緩衝儲存器 現在的系統甚至可以擁有多級cache。cache實際上是位於cpu與dram主儲存器之間少量超高速的靜態儲存器 sram 通常的大小為8kb 512kb。對cache的工作原理可以進行如下...