간단한 XOR 암호화 프로그램을 코딩하고 있었는데 함수의 반환 값이 예상 한 종류가 아닌 것으로 나타났습니다.LPCSTR 함수의 반환 값은 쓰레기가됩니다.
내 코드에서 문제를 찾을 수 없습니다. 아무도 도와 줄 수 있습니까?
다음은 프로그램 코드입니다 :
#include "windows.h"
#include "iostream"
using namespace std;
LPCSTR hasala(string original, char key){
string changed;
for (int temp = 0; temp < original.size(); temp++){
changed += original[temp]^(int(key) + temp) % 255;
}
cout << changed.c_str()<<"\n\n";//works, output "acagaca"
LPCSTR adart = changed.c_str();
cout << adart<<"\n\n";//works, output "acagaca"
return adart;
}
int main(){
cout << hasala("abcdefg", 0);//doesn't work, output "||||@ER|||"...
cout << "\n\n";
Sleep(8000);
return 0;
}