C语言,文件读取部分的,不会,求各位大佬帮帮忙
【问题描述】有一种加密方法为:其使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feather,则先去掉密钥单词中的重复字母得到单词串fea...
【问题描述】有一种加密方法为:其使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feather,则先去掉密钥单词中的重复字母得到单词串feathr,然后再将字母表中的其它字母以反序追加到feathr的后面:
f e a t h r z y x w v u s q p o n m l k j i g d c b
加密字母的对应关系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
f e a t h r z y x w v u s q p o n m l k j i g d c b
其中第一行为原始英文字母,第二行为对应加密字母。其它字符不进行加密。编写一个程序,用这种密码加密文件。假定要加密的文件名为encrypt.txt及加密后的文件名为output.txt,并假定输入文件中字母全为小写字母,并且输入密钥也全为小写字母。
【输入形式】从标准输入中输入密钥串,并从文件encrypt.txt中读入要加密的内容。
【输出形式】加密后结果输出到文件output.txt中。
【样例输入】
feather
和文件encrypt.txt中内容,例如被加密的文件encrypt.txt中内容为:
c language is wonderful.
【样例输出】加密后output.txt文件中内容为:
a ufqzjfzh xl gpqthmrju.
【样例说明】首先将给定的密钥单词去除重复字母,然后按照上面的加密对应表对encrypt.txt文件内容进行加密即可得到加密后的文件,其中只对英文字母进行加密对换,并且假设encrypt.txt中的英文字母全是小写字母。 展开
f e a t h r z y x w v u s q p o n m l k j i g d c b
加密字母的对应关系如下:
a b c d e f g h i j k l m n o p q r s t u v w x y z
f e a t h r z y x w v u s q p o n m l k j i g d c b
其中第一行为原始英文字母,第二行为对应加密字母。其它字符不进行加密。编写一个程序,用这种密码加密文件。假定要加密的文件名为encrypt.txt及加密后的文件名为output.txt,并假定输入文件中字母全为小写字母,并且输入密钥也全为小写字母。
【输入形式】从标准输入中输入密钥串,并从文件encrypt.txt中读入要加密的内容。
【输出形式】加密后结果输出到文件output.txt中。
【样例输入】
feather
和文件encrypt.txt中内容,例如被加密的文件encrypt.txt中内容为:
c language is wonderful.
【样例输出】加密后output.txt文件中内容为:
a ufqzjfzh xl gpqthmrju.
【样例说明】首先将给定的密钥单词去除重复字母,然后按照上面的加密对应表对encrypt.txt文件内容进行加密即可得到加密后的文件,其中只对英文字母进行加密对换,并且假设encrypt.txt中的英文字母全是小写字母。 展开
5个回答
展开全部
分析问题:下面给出从一个文件中读取单词的函数int getword(FILE * ptr,char *word)
调用方法:
在main()中先定义一个分配好空间的字符串char str[MAXSIZE]
打开文件FILE * IN=fopen("encrypt.txt","r");
getword(IN,str),会读入文件中的一个完整的单词到word里面,如果getword()返回EOF,则说明已经读完了所有的单词
#include<stdio.h>
#include<ctype.h>
void getword(FILE * ptr, char * word)
{
char c;
while(!isalpha(c=fgetc(ptr)))
if(c==EOF)
return EOF;
do
{
*word++=c;
} while (c=fgetc(ptr));
*word='\0';
return 1;
}
如果这个回答能够帮助到你,能够关#注一下🐎
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feathe使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feathe
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用一个字母串(可以含重复字母,字母个数不超过50)作为密钥。假定密钥单词串为feathe
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询