我开始使用字符串代替字符数组,当我将定义为大小为 5 的字符数组之一更改为字符串时遇到错误。尝试运行程序时,我得到的错误是“表达式:字符串下标超出范围”。
“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;
}