導航:首頁 > 文檔加密 > fopen能打開加密文件嗎

fopen能打開加密文件嗎

發布時間:2022-07-09 11:02:56

① 如何實現txt文檔,加密文檔裡面指定的文字,加密後可以打開但是看見的是亂碼的

C語言,通過fopen打開文件,通過對文件中的字元進行加密演算法,fclose。就ok了。

② 請問fopen能打開什麼格式的文件

fopen可以用文本模式或二進制模式打開文件。
word和jpg文件有自己特殊的格式,理論上講如果了解其文件存儲格式的話,可以用二進制方式打開、進行讀寫;
但實際上都比較復雜,並且有現成的組件可以使用,沒必要自己寫。

③ 用C語言給文件加密解密,詳細簡單的代碼;;;;用c打開一txt文件,怎麼寫【新手初學】

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<string.h>
void dofile(char *in_fname,char *pwd,char out_file)
{
FILE *fp1,*fp2;
register char ch;
int j=0;
int j0=0;
fp1=fopen(in_fname,"rb");
if(fp1==NULL)
{
printf("cannot open in-file.\n");
exit(1); //如果不能打開要加密的文件,便退出程序、
}
fp2=fopen(out_file,"wb");
if(fp2==NULL)
{
printf("cannot open or create out-file.\n");
exit(1); //如果不能建立加密後的文件,便退出
}
while(pwd[++j0]);
ch=fgetc(fp1); //加密演算法開始
while(!feof(fp1))
{
fputc(ch^pwd[j>j0?j=0:j++],fp2); //異或後寫入fp2文件
ch=fgetc(fp1);
}
fclose(fp1);
fclose(fp2);
}
void main(int argc,char *argv[])
{
char in_fname[30];
char out_fname[30];
char pwd[8];
if(argc!=4)
{
printf("\nIn-fname:\n");
gets(in_fname);
printf("Password:\n");
gets(pwd);
printf("Out-file:\n");
gets(out_fname);
dofile(in_fname,pwd,out_fname);
}
else
{
strcpy(in_fname,argv[1]);
strcpy(pwd,argv[2]);
strcpy(out_fname,argv[3]);
dofile(in_fname,pwd,out_fname);
}
}

④ C語言 文件加密解密

文件中啊!(C)
首先file1中存一些信息(直接在文件中手寫或者通過源程序從屏幕中讀取)
大致過程{
fp1 = fopen("file1", "w");//write
scanf("%c", &ch1);//用while循環多次寫入
fprintf(fp1, "%c", ch1);
}
第二:從文件中讀取內容,和0x6a異或

fp2 = fopen ("file1", "r")//read
fp3 = fopen ("file2", "w")//write

fscanf(fp2, "%c", &ch2);//用while循環多次讀出
異或操作,結果賦給ch3;
printf("%c", ch );//屏幕顯示
fprintf(fp3, "%c", ch3);//寫入file2中

第三:讀出file2的內容
fp3 = fopen ("file2", "r")//read

fscanf(fp3, "%c", &ch4);//用while循環多次讀出
printf(「%c」, ch );

大概過程就是這樣,文件主要是自己寫才能掌握,這里就不把代碼給你了。
上面的部分代碼給你參考一下。有問題歡迎詢問
源程序只是負責操作;file1和file2是存放數據的文件,可以看成結構體。
文件操作好好學,很重要!

⑤ C++C語言文件加密解密問題

#include<stdio.h>
#include<stdlib.h>

voidjiami(){
intkey;
charch;
FILE*fp,*fp1;
printf("請輸入密鑰:");
scanf("%d",&key);
fp=fopen("待加密文件.txt","r");
fp1=fopen("已加密文件.txt","w");
if(fp==NULL){
printf("待加密文件打開,請查找原因。 ");
return;
}
while((ch=fgetc(fp))!=EOF){
ch+=key;
if(ch>'z'||ch>'z'&&ch<'a')ch-=26;
fputc(ch,fp1);
}
fclose(fp);
fclose(fp1);
}

intmain(){
jiami();
printf("加密成功,可以打開加密文件 ");
return0;
}

voidjiemi(){
charch;
intkey;
FILE*fp,*fp1;
printf("請輸入密鑰:");
scanf("%d",&key);
fp=fopen("已加密文件.txt","r");
fp1=fopen("解密後文件.txt","w");
if(fp=NULL){
printf("文件打開失敗,請查找原因: ");
return;
}
while((ch=fgetc(fp))!=EOF){
ch-=key;
if(ch<'a'&&ch>'z'||ch<'A')
ch+=26;
fputc(ch,fp1);
}
fclose(fp);
fclose(fp1);
}

⑥ fopen函數可以打開 word文件

當然可以打開,且可用fread讀入,只是讀入的內容是文件是原始二進制代碼,不容易識別其中的內容。

⑦ c語言里 用fopen里能打開文件夾嗎 奇怪的事,我把文件夾打開了。 然後還沒報錯。

linux下的fopen當然可以打開文件了 而且它就是打開文件的函數啊!
#include<stdio.h>
FILF*fopen(const char *path(某路徑下的某文件),const *char mode(打開方式));
打開的方式就是用宏
r/rb-----------只讀打開,文件必須存在;
w/wb---------只寫打開,重建文件 ,文件在則覆蓋,不在則創建;
a/ab---------追加打開,文件有則追加,無這創建;
r+/rb+-------讀寫打開,文件必須存在,無則報錯;
w+/wb+-----讀寫打開,重建文件;
a+/ab+------寫追加打開,永遠尾部追加,讀隨意;
返回值:文件流指針;
返回值:-1 則是打開文件失敗;

⑧ C語言fopen不能打開.txt文件

①文件不存在;
②文件名錯誤,打開文件的名字應該寫成"c:\\file.txt",而不是"c:\file.txt";
③代碼錯誤;
fopen函數用於打開文件並獲取文件的指針,以便對文件進行操作。
函數原型:FILE * fopen(const char * path,const char * mode);
參數:path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r 以只讀方式打開文件,該文件必須存在。
r+ 以可讀寫方式打開文件,該文件必須存在。
rb+ 讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
w 打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+ 打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a 以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+ 以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。 (原來的EOF符不保留)
wb 只寫打開或新建一個二進制文件;只允許寫數據。
wb+ 讀寫打開或建立一個二進制文件,允許讀和寫。
ab+ 讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b 字元用來告訴函數庫以二進制模式打開文件。如果不加b,表示默認加了t,即rt,wt,其中t表示以文本模式打開文件。由fopen()所建立的新文件會具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)許可權,此文件許可權也會參考umask值。
有些C編譯系統可能不完全提供所有這些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,讀者注意所用系統的規定。
返回值:
文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
示例:以只讀方式打開文件

#include
#define F_PATH "d:\\myfile\\file.dat"
int main(void)
{
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp)
{
return -1;//要返回錯誤代碼
}
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址

return 0;
}

⑨ 怎麼用fopen打開已防寫的文件

你可以 在打開文件前,加一句 system(命令) ,命令字元串 是 chmod 為允許讀寫。
文件 更新後 再 用system 調 chmod 命令 設 保護。
視窗系統 也可以 用system 調 attrib 改狀態。

⑩ 關於用C語言對文件進行加密和解密

ch=ch^*(pwd+i); //對讀取的一個字元,進行異或
重點是這,,,,,,就是使用密碼,對源文件逐byte異或、
if(i>9){
i=0;
}

密碼也循環使用。
~~~~~~~~~~~~

閱讀全文

與fopen能打開加密文件嗎相關的資料

熱點內容
命令與征服現代沖突視頻 瀏覽:677
基於單片機的文獻綜述 瀏覽:998
dnf掃貨腳本源碼 瀏覽:728
用於編譯器中緩解控制沖突的方法 瀏覽:193
rt3070aplinux 瀏覽:650
變頻空調壓縮機用電容可以啟動嗎 瀏覽:319
愛迪爾門鎖怎麼看伺服器地址 瀏覽:818
江淮車智聯伺服器內容錯誤什麼 瀏覽:133
zip解壓軟體叫什麼 瀏覽:893
java域名綁定 瀏覽:902
dns伺服器很差什麼意思 瀏覽:123
西門子數控機床編程與操作 瀏覽:993
工頻壓縮機專修 瀏覽:383
什麼app可以連接電視 瀏覽:173
神舟電腦無法復制文件夾 瀏覽:57
s7相片怎麼加密 瀏覽:530
單片機串接cd4094 瀏覽:820
cad批量生成pdf 瀏覽:254
iosui編程 瀏覽:137
怎麼看明日之後伺服器的排名 瀏覽:267