📄 subject_66091.htm
字号:
<p>
序号:66091 发表者:小小书生 发表日期:2003-12-22 15:52:30
<br>主题:大家帮我看一下这段代码,有什么问题?
<br>内容:/*对文件进行加密*/<BR><BR>#include<stdio.h><BR>#include<stdlib.h><BR>#include<conio.h><BR>#include<string.h><BR><BR>void dofile(char *in_fname,char *pwd,char *out_fname);/*对文件进行加密的具体函数*/<BR><BR>void main(int argc,char *argv[])/*定义main()函数的命令行参数*/<BR>{<BR> char in_fname[30];/*用户输入的要加密的文件名*/<BR> char out_fname[30];<BR> char pwd[8];/*用来保存密码*/<BR><BR> if(argc!=4)/*容错处理*/<BR> {<BR> printf("\nIn-fname:\n");<BR> gets(in_fname);/*得到要加密的文件名*/<BR> printf("Password:\n");<BR> gets(pwd);/*得到密码*/<BR><BR> printf("Out-file:\n");<BR> gets(out_fname);/*得到加密后你要的文件名*/<BR> dofile(in_fname,pwd,out_fname);<BR> }<BR> else/*如果命令行参数正确,便直接运行程序*/<BR> {<BR> strcpy(in_fname,argv[1]);<BR> strcpy(pwd,argv[2]);<BR> strcpy(out_fname,argv[3]);<BR> dofile(in_fname,pwd,out_fname);<BR> }<BR><BR>}<BR><BR>/*加密子函数开始*/<BR>void dofile(char *in_fname,char *pwd,char *out_file)<BR>{<BR> FILE *fp1,*fp2;<BR> register char ch;<BR> int j=0;<BR> int j0=0;<BR><BR> fp1=fopen(in_fname,"rb");<BR> if(fp1==NULL)<BR> {<BR> printf("cannot open in-file.\n");<BR> exit(1);/*如果不能打开要加密的文件,便退出程序*/<BR> }<BR> fp2=fopen(out_file,"wb");<BR> if(fp2==NULL)<BR> {<BR> printf("cannot open or create out-file.\n");<BR> exit(1);/*如果不能建立加密后的文件,便退出*/<BR> }<BR> while(pwd[++j0]);<BR> ch=fgetc(fp1);<BR>/*加密算法开始*/<BR> while(!feof(fp1))<BR> {<BR> fputc(ch^pwd[j>=j0?j=0:j++],fp2);/*异或后写入fp2文件*/<BR> ch=fgetc(fp1);<BR> }<BR> fclose(fp1);/*关闭源文件*/<BR> fclose(fp2);/*关闭目标文件*/<BR>} <BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:kobo 回复日期:2003-12-22 16:02:51
<br>内容:怎么了,不错啊?/?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-22 16:03:52
<br>内容:人家让你画个流程图出来
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小小书生 回复日期:2003-12-22 19:02:05
<br>内容:FILE *fp1,*fp2;<BR>register char ch;<BR><BR>在上面的两个语句中,FILF,和register两个关键字是干什么用的?<BR>还有<BR>fp1=fopen(in_fname,"rb");<BR><BR>在上面的语句中fopen()这个函数是作什么用的,是库函数吗?<BR><BR>谢谢!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:林建华 回复日期:2003-12-22 19:25:19
<br>内容:是c的库函数,用来打开文件的
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:小小书生 回复日期:2003-12-23 08:47:26
<br>内容:FILE *fp1,*fp2;<BR>register char ch;<BR><BR>在上面的两个语句中,FILF,和register两个关键字是干什么用的?<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:kobo 回复日期:2003-12-23 22:03:23
<br>内容:FILE 是c/c++ 在stdio.h中定义的文件类型对象,用来对文件操作,<BR><BR>register 是c/c++ 中的一个存储类型定义符,它只能用于整型和字符型.register定义的变量在cpu的寄存器中,而不象普通的变量那样在内存中,
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -