1樓:
加密我不太懂,不過按照檔案讀寫的順序,我認為應該是:
1、詢問要加密的檔案。
2、根據檔名,開啟檔案。
3、往記憶體裡讀入檔案內容,也就是在程式中用臨時變數來接收這些內容。
4、用加密演算法,處理那些從檔案讀取出來的資料。
5、把處理好的內容再重新寫進目標檔案。
這是檔案加密步驟。
不過如果你的意思僅僅是給檔案加個密碼的話。。。。
fread和fwrite 一般用於二進位制檔案讀寫,因為它們的特性是按照「塊」做單位來讀寫的,不需要考慮儲存內容的格式(因為在記憶體中,無論是文字資料還是二進位制資料,它們儲存的都是二進位制,這是記憶體儲存的本質,明白這個很關鍵),而按「塊」來讀寫,說的是按位元組數來讀寫。
fprintf和fscanf,一般用於儲存有格式要求的資料。比如說儲存乙個結構體,裡面有整形和字元型等等。
需要補充的是,因為本質上,任何資料在記憶體裡儲存的形式都是二進位制,所以像結構體這類自定義型別,也可以用fread和fwrite來讀寫,而這個「塊」單位一般等於sizeof(struct)。
用fwrite儲存二進位制檔案,用記事本開啟是亂碼,看起來不直觀;用fprintf儲存文字檔案,用記事本開啟是一般文字,很直**得懂。所以一般練習都喜歡用fprintf。
這個問題可能不太好理解。不懂再追問唄。
2樓:匿名使用者
檔案的加密有很多形式
大致分為以下兩種:
使外人無法開啟(與許可權無關的問題)
開啟以後亂碼(編碼問題)
第一種情況需要一些特殊的寫入方式,二進位制寫入的,文字檔案就打不開 ,不過這種寫入方式挺多的
第二種情況 :就是可以把每個字元讀取出來 比如讀取的字元為 a 那麼一定的編碼後再寫入檔案
比如這種編碼 a= a^# 編碼方式很多很多 加密的形式也多種多樣的 僅供參考
關於C語言問題,關於C語言的問題
迴圈3次 5成立,結果 x 1,y 4,z 2。5成立,結果 x 2,y 3,z 1。5成立,結果 x 3,y 2,z 0。5失敗且不再執行 右側的 x,退出迴圈。所以最後結果是x 3 y 2 z 1,b正確。關於c語言的問題 巨集定義與賦值不同,而是字串的帶入,因此參與計算時要特別注意計算的優先順...
關於C語言文字檔案的問題,急
按照給的檔案內容,模擬了一下程式,沒問題的,能夠輸出 include include define bw bw define hdref hdref int main if memcmp item,hdref,sizeof hdref 0 輸出2個值 fclose fp return 0 下面是輸出...
C語言讀寫檔案問題
如果你想生成文字檔案,應該用 fprintf 目前用的 fwrite 向檔案中寫入了從位址指標開始的,你指定長度的位元組sizeof struct player type 這裡邊就包括了一些非文字資訊。就是你看到的那個黑方塊。fp fopen score w 很久前學的,現在記的不是很清楚,隨便說下...