永发信息网

为什么用C语言程序调用了记事本文件后,记事本的编码方式会改变?

答案:2  悬赏:50  手机版
解决时间 2021-02-23 03:16
  • 提问者网友:聂風
  • 2021-02-22 12:14
为什么用C语言程序调用了记事本文件后,记事本的编码方式会改变?
最佳答案
  • 五星知识达人网友:未来江山和你
  • 2021-02-22 13:12
if((fwrite(p,sizeof(struct part),1,fp))!=1)
其实你说的就是数据加密,看看下面这个代码#include
#include
void main()
{
FILE *fp;
if((fp = fopen("/mnt/sdcard/kk.txt","r"))==NULL)
{printf("wen jian bu cuan zai!");
exit (0);}
printf("dakai chenggong!\n");
int i;
int n;
char str[1000];
for( i=0; i<1000&&!feof(fp); i++ )
{str[i] = fgetc(fp);
printf("%c",str[i]);}
str[i]='\0';
n = i;
fclose(fp);
for(i = 0; i < n; i++)
str[i] = str[i] - 32;这里就是算法加密,可以升级加密算法
str[i-1] = '\0';
FILE *qq,*gg;

char name[8];
tmpnam(name);
gets(name);
gg=fopen(name,"w");
for( i = 0; i < n; i++)
{fputc(str[i],gg);
printf("%c",str[i]);}
fclose(gg);
rename(name,"/mnt/sdcard/jia mi");
}
当然这个是原始的加密方式,你要读取的时候读取后+32即可。当然你可以升级算法,数学书上有讲过加密问题,貌似有种加密方式是无法破解的,总之都是算法加密

另外你可以用二进制方式写入数据,那样就会变成乱码,而你用sizeof计算结构体大小读取数据,就能起到加密的作用,应为别人不知道sizeof的大小
全部回答
  • 1楼网友:爱难随人意
  • 2021-02-22 14:11
#include "stdio.h" void main() { int a[9]={1,3,5,7,9,10,12,14}; int b,i,j; scanf("%d",&b); for(i=0;i<8;i++){ if(a[i]>=b){ for(j=8;j>i;j--) a[j] = a[j-1]; a[i] = b; break; } } if(i==8) a[8] = b; for(i=0;i<9;i++) printf("%d ", a[i]); printf("\n"); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯