文字配列の代わりに文字列を使用し始めましたが、サイズ 5 で定義された文字配列の 1 つを文字列に変更するとエラーが発生します。プログラムを実行しようとすると、「Expression: string subscript out of range」というエラーが表示されます。
「newWord」はもともと文字配列でしたが、文字列に変更するとこのエラーが発生します。プログラムが正常に実行される文字配列を使用すると、何が原因なのかわかりません。
int main() {
fstream inputFile;
fstream outputFile;
string newWord;
int i, k;
string word;
inputFile.open( "H:\\word.txt" );
outputFile.open( "H:\\newword.txt" );
if( inputFile )
{
while( getline( inputFile, word ) )
{
for( i = 0; i < (word.length()- 3); ++i )
{
for( k = 0; k < 4; ++k )
newWord[k] = word[i+k];
cout << newWord << endl;
outputFile << newWord << endl;
}
}
}
return 0;
}