나는 지금 내가 사용자가 파일 brain.txt
에 말한다 무엇 이건 쓸 수있는 로봇 기능이공간
++ C의 작은 채팅 봇 프로그램을 쓰고 있어요 전에 문자열의 모든 부분을 무시하고 배치 번호가 기억 된 순서대로 파일에 표시됩니다. 계속해서 사용자 입력 Grapefruit
을 입력하면 새 줄에 자몽을 넣고 접두사로 6
을 넣습니다. 내가 에 필요한 문제로 실행했습니다
0 suspect
1 interest
2 underwood
3 interior
4 bullet
5 dog
는 봇 이미 이전 UserInput 사용자 년대있는 메모리 UserInput 사용자를 비교합니다.
ifstream brain ("projects/AI/brain.txt");
if (brain.is_open())
{
while (getline(brain,memory))
{
cout << "memory: " << memory << endl;
cout << "userinput: " << userinput << endl;
if (memory == userinput)
{
exists = true;
//if it exists, tell the user, and break
cout << "I know that already!" << endl;
break;
}
else { filepos++; }
는 UserInput 사용자들은 동일한 문자열하지 않은대로, 비교 검사가 실패 두 가지를 비교하는 경우
grapefruit
로봇의 메모리가 ERGO을
6 grapefruit
이다 있었다면.
숫자를 문자열의 일부로 유지하고 읽고 싶은 문자열의 부분을 선택적으로 선택할 수있게하고 싶습니다. 나중에 JSON 또는 비슷한 것으로 업그레이드 할 수도 있지만, 지금 당장이 방법을 사용하고 싶습니다.
내 첫 번째 질문은 공간의 끝까지 모든 문자열을 어떻게 무시할 수 있습니까? 그래서 내 프로그램이 제대로
grapefruit
비교하고grapefruit
대신내 두 번째 질문은
6 grapefruit
의 내가 여러 공간을 생략하고 여러 공간이 경과 한 후에 만 읽을 수 있도록,이 기능을 확장 할 수 있습니다? 문자열의 예를 들어
: 6 나가 수 (53)에 액세스하려면 23 53 12 자몽, 그리고 아무것도.
이 방법을 개선하는 방법과 제가 잘못했을 수도 있습니다.
나는이를 프로그램 시작시 런타임에 튜플 또는 다른 어떤 것의 벡터라고 말할 수 있었고 파일에서 액세스하지 못하게 할 수있었습니다. 이것은 내가 미래에 할 수있는 일입니다.
읽기 2 문자열과이 환상적으로 잘 작동 처음 –