2017-12-19 6 views
-3

텍스트를 파일에 저장하는 프로그램을 만들고 싶습니다.하지만 프로그램에서 텍스트에 내용을 "salamence"라고 입력하면 프로그램에서 텍스트 내용을 보호하거나 암호화해야합니다. 파일) "hjkjupfqp"또는 그런 식으로 사람들이 프로그램에 대한 액세스 권한이 없으면 사람들이 읽을 수 없도록합니다 (프로그램에서 텍스트 파일의 암호를 해독 할 수있게하려는 경우). C++에서 문자열 입력을 읽을 수 있습니다. 한 캐릭터를 다른 캐릭터로 수정하고 어떻게 할 수 있습니까?문자열 입력을 수정할 수 있습니까?

+1

예, 가능합니다. – StoryTeller

+0

당신이 그렇게 물어 보는 것이 이상합니다. 그것은 "칼로 물건을자를 수 있습니까?"라고 묻는 것과 같습니다. –

+0

C++을 사용하여 파일 I/O에 대해 배우십시오. 웹을 살펴보면 C++ 언어를 사용하여 텍스트 (또는 다른 유형의 파일) 파일을 읽고 쓰는 예제가 많이 있습니다. 숙제 문제입니다. –

답변

-1

문자열은 다른 물건이 들어있는 컨테이너에 넣어지는 일련의 문자입니다. 문자 자체는 [] 연산자를 통해 액세스 할 수 있습니다. char는 기본적으로 표시 할 수있는 8 비트 정수입니다. 정수는 산술적으로 조작 할 수 있습니다 (+, -, *, ...), 비트 단위 (<<, |, ^, &, ...) 등

그래서 당신은 이런 일을 할 수있는 :

#include <iostream> 
#include <string> 
using namespace std; //bad idea, but simplifies stuff 
int main(){ 
    string s; 
    cin>>s; //reads the string 
    for(int i=0;i < s.size;i++){ //loops through all characters of the string 
     s[i]++; //adds one to the string 
    } 
    cout<<s; //outputs the modified string 
} 

이렇게하면 "abc"가 "bcd"로 바뀌어 다소 바보 같은 형태의 암호화가되지만 개념을 증명합니다.

해독하려면 루프를 복사해야하지만 s[i]++s[i]--으로 대체하십시오.

초보자 인 것 같아서 실제로 C 스타일 문자열을 사용하는 것이 좋습니다. 그러나이 질문의 범위를 벗어납니다.

+0

예 답장을 보내 주시면 감사하겠습니다.하지만 "namespace std;를 사용하는 이유" 나쁜 생각이야? – salmanrf

+0

[빠른 검색으로 가져옵니다.] (https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) –

관련 문제