① 如何实现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;
}
密码也循环使用。
~~~~~~~~~~~~