gpt4 book ai didi

c++ - 当我从类实例调用方法时,我的 C 程序崩溃了,这里是代码

转载 作者:行者123 更新时间:2023-11-30 05:40:33 25 4
gpt4 key购买 nike

这是我正在使用的类。

#include<stdio.h>
#include <string.h>
class EnDe{

private:
int *k;
char *temp;

public:

char * EncryptString(char *str);
char * DecryptString(char *str);
EnDe(int *key);};
EnDe::EnDe(int *key){

k=key;
}

char * EnDe::EncryptString(char *str){

int t=2;
t=(int)k[1]*(int)2;
for (int i=0;i<strlen(str);i++){
temp[i]=str[i]+k[0]-k[2]+2-k[1]+k[3]+t;


}
char alp=k[0]*57;
for (int y=strlen(str);y<strlen(str)+9;y++){ //--*
temp[y]=alp+y; //--*
}
temp[(strlen(str)+9)]='\0'; //--*
return temp;

}

char * EnDe::DecryptString(char *str){

int t=2;
t=k[1]*2;

for (int i=0;i<strlen(str);i++){

temp[i]=str[i]-t-k[3]+k[1]-2+k[2]-k[0];

}

temp[(strlen(str)-9)]='\0';
return temp;

}

这是主程序。

#include <stdio.h>
#include "EnDe.h"

int main(void){

char *enc;

char op;

printf("\nE to encrypt and D to decrypt");

int opi[4]={1,2,9,1};

EnDe en(opi);

strcpy(enc,en.EncryptString("It is C's Lounge!! "));

printf("Encrypted : %s",enc);

return 0;
}

en.EncryptString 函数有问题

当我运行该程序时,它停止工作并给出错误并删除 strcpy(enc,en.EncryptString("It is C's Lounge!!"));它运行。我希望这个问题得到解决。

最佳答案

 char *enc;
strcpy(enc,en.EncryptString("It is C's Lounge!! "));

您没有为拷贝提供任何空间 - enc 没有指向任何地方。

关于c++ - 当我从类实例调用方法时,我的 C 程序崩溃了,这里是代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31567748/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com