この関数を呼び出すたびに、プログラムが動作しなくなりますが、その理由がわかりません。ここに私のコードスニペットがあります:
#include <iostream>
#include <stdlib.h>
#include <string>
#include <fstream>
using namespace std;
void FindReplace(char Memory[], string FindWord, string ReplaceWord, const int MAXNUMCHARS)
{
int i = 0;
int SizeWord = FindWord.length();
int SizeReplace = ReplaceWord.length();
for(i = 0; i <= MAXNUMCHARS; i++)
{
if(Memory[i] == FindWord[i] && Memory[i+1] == FindWord[i+1] && Memory[i+2] == FindWord[i+2])
{
Memory[i] = ReplaceWord[i];
Memory[i+1] = ReplaceWord[i+1];
Memory[i+2] = ReplaceWord[i+2];
}
}
}
そして、それを呼び出すコードがここにあります
if(option == 'F')
{
FindReplace(Memory, FindWord, ReplaceWord, MAXNUMCHARS);
OutputMemoryToFile(Memory , Out);//copies array to output file
cout << "String 'the' has been found and replaced with 'can'";
cout << endl;
}
アイデアはありますか?:/