标题:将一个文件的内容,做字符循环移动加密后,拷贝到另一个文件中,使用fputs( ...
只看楼主
小燃
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2015-1-24
结帖率:100%
 问题点数:0 回复次数:0 
将一个文件的内容,做字符循环移动加密后,拷贝到另一个文件中,使用fputs()函数出错,程序崩溃。
#include <stdio.h>
#include <stdlib.h>
#define LEN 50    //数组大小
//该程序作用为:通过将文件t1.text中的字符每个字符的ASCLL+4,做加密处理,然后存放在文件t2.text中
int main(int argc,char *argv[])
{
    FILE *in,*out;//两个文件指针
    char words[LEN]; //用来存放t1.text中的字符
    int i;
    char ch;
   
    if((in=fopen("t1.text","r"))==NULL
       && (out=fopen("t2.text","w"))==NULL)   //文件不能打开,则退出
       {
              printf("Can't open the file.\n");
              exit(1);
       }
    fgets(words,LEN,in);  //读取t1.text中的字符,并存在words数组中
    printf("%s\n",words);
    for(i=0;(ch=words[i])!='\0';i++)//将数组中的字符的ASCLL+4,做加密处理
    {
        if('a'<=ch&&ch<='v')
        {
            words[i]=ch+4;
        }
        else if('w'<=ch&&ch<='z')
        {
            words[i]=ch-22;
        }
    }
    printf("%s",words);
    fputs(words,out);   //通过fputs函数,将words数组中的字符串存到t2.text中   

 经过调试后,发现到fputs函数之后就出错了, 程序便崩溃了!出错的原因是函数用错吗?请问有什么方法可以解决?

    if(fclose(in)!=0&&fclose(out)!=0)   //文件不能正常关闭,则退出
    {
        printf("Can't  the file.\n");
        exit(2);
    }
      
    return 0;
 }
搜索更多相关主题的帖子: 加密 include file 
2015-04-08 18:48



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-443714-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.807076 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved