写一个程序,对文件stud.dat加密,…

#include<stdio.h>
main()
{
  FILE *fp;
  unsigned char ch1,ch2;
  if((fp=fopen("stud.dat","rb+"))==NULL)
  exit(1);
  ch2=24;
  ch1=fgetc(fp);
  while(!feof(fp))
  {
    printf("%c",ch1);
    ch1=ch1^ch2;
    fseek(fp,-1L,1);//指针回移1个字节
    fputc(ch1,fp);  //将加密后的结果写回
    fseek(fp,1L,1);//跳过第奇数个字节
    ch1=fgetc(fp);
  }
    fclose(fp);
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是实现上述功能的C语言代码: ```c #include <stdio.h> struct Student { int id; char name[20]; int score1; int score2; int score3; int total_score; }; int main() { FILE *fp1, *fp2; struct Student stu; fp1 = fopen("CJ.dat", "r"); fp2 = fopen("stud.dat", "w"); if (fp1 == NULL) { printf("CJ.dat 文件打开失败!\n"); return 1; } if (fp2 == NULL) { printf("stud.dat 文件打开失败!\n"); return 1; } // 读取每个学生的信息,并计算总成绩 while (fscanf(fp1, "%d %s %d %d %d", &stu.id, stu.name, &stu.score1, &stu.score2, &stu.score3) != EOF) { stu.total_score = stu.score1 + stu.score2 + stu.score3; // 将学生信息和总成绩stud.dat 文件 fprintf(fp2, "%d %s %d %d %d %d\n", stu.id, stu.name, stu.score1, stu.score2, stu.score3, stu.total_score); } fclose(fp1); fclose(fp2); printf("生成 stud.dat 文件成功!\n"); return 0; } ``` 该程序首先打开 CJ.dat 文件stud.dat 文件(如果打开失败,则输出错误信息并退出程序),然后读取 CJ.dat 文件中的每个学生信息,并计算总成绩。最后,将学生信息和总成绩stud.dat 文件中。程序运行完成后,输出成功信息并返回 0。 你可以将上述代码保存为 stud.c 文件,并使用 C 编译器编译该文件(如使用 GCC 编译器,可在命令行中输入 `gcc stud.c -o stud`),然后运行生成的可执行文件(如在 Windows 系统中,可在命令行中输入 `stud.exe`)。生成的 stud.dat 文件会保存在当前工作目录中。你可以使用文本编辑器打开该文件,查看其中的数据是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值